GUI architecture design resources?
I'm interested in the inner workings of Graphical User Interface libraries, such as Qt or wxWidgets . I sort of understand how a GUI system could be structured, but I have many unanswered doubts (regarding focus, priority, positioning, special widgets, etc) that would be easily resolved by reading interesting resources about GUI architecture design.
Unfortunately, Google was not really helpful. I couldn't find a good website/article/tutorial that explained how modern GUI architecture is designed and structured.
Is there any good book/resource you recommend on the subject? I would prefer if the resource was for C++ developers, but I'm perfectly fine with language-independent resources (or C/Java ones).
To clarify: I'm not particularly interested in event/messaging architecture, but mostly on handling mouse/keyboard input, hovering detection, dealing with widgets that stack one on top of the other, dealing with widgets that open up temporary menus, form re-sizing with widget alignment, dragging and dropping, and so on.
In this article you can find under #8. the Steps Left pattern, it is widely implemented when users have to fill in data in multiple steps. Also very helpful is #10. Hover Controls. I can advise you to at the others too.
A very collection of UI Design Patterns, Libs and Practices can be found here.
If you wan to spend some more time here are patterns in Categories for:
Note that you must select User needs
section.
You may find these resources helpful:
Hope it helps.
Qt is working using IOC (inversion of control) and I believe they are using DDD (domain driven design). Without events it will be really hard to create GUI framework if even possible.
I would suggest you search for "Gui for ARM" or "Gui for embedded". You come with some libraries(most of them open source, but may require license to buy) that are apropriate for microcontrollers. Thus they are expected to implement the basic principles for graphical user interface.
Here is some links;
PEG - FreeScale
uC/Gui - Micrium
emWin - SEGGER
上一篇: 将参数传递给模板类型的C#泛型new()
下一篇: GUI架构设计资源?