Projects/Usability/HIG/CustomControls: Difference between revisions

    From KDE TechBase
    < Projects‎ | Usability‎ | HIG
    (→‎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

    Implementation