Projects/Usability/HIG/CustomControls: Difference between revisions
(→Guidelines: add keyboard navigation bullet point) |
|||
Line 16: | Line 16: | ||
** Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements). | ** Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements). | ||
** Is based on an existing widget rather than a plain QWidget if possible | ** Is based on an existing widget rather than a plain QWidget if possible | ||
** supports keyboard navigation (receives and gives focus, indicates when it is focused) | |||
* If possible, consider making your widget reusable enough so that it can be integrated in standard widgets | * If possible, consider making your widget reusable enough so that it can be integrated in standard widgets | ||
== Implementation == | == Implementation == |
Revision as of 15:44, 10 July 2013
Under Construction |
---|
This is a new page, currently under construction! |
Purpose
Examples
Guidelines
- Do you really need a custom widget? Check whether an existing widget cannot be used instead.
- It is strongly recommended to consult the usability team (https://git.reviewboard.kde.org/groups/usability/) and the accessibility team (https://git.reviewboard.kde.org/groups/kdeaccessibility/) in advance of your implementation.
- Create interaction by following natural design. Find the appropriate metaphor and create interface as near to real usage as possible.
- Make sure your new widget:
- Resizes correctly
- Handles right-to-left setups
- Supports keyboard navigation (receives and gives focus, indicates when it is focused)
- Works well with different color schemes
- Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements).
- Is based on an existing widget rather than a plain QWidget if possible
- supports keyboard navigation (receives and gives focus, indicates when it is focused)
- If possible, consider making your widget reusable enough so that it can be integrated in standard widgets