• Type: Task
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:



      Qt Quick provides simple primitives that allow you to create fluid uis from scratch without restricting the designers creativity. Nevertheless, there are still some open issues to complete the ui development experience in Qt Quick. The qt-components project aims to deliver a set of reusable components that will fill this gap. Note that there are ongoing external efforts to implement ui components for qml and it's important to provide an official offering to avoid fragmentation.


      Project Page with User Stories, Detailed Tasks, Reported Bugs

      This project will be composed of several iterations that will expand gradually the functionality and the component set.
      Each iteration will be approximately 4 months with the aim of having a release at the end of this period.
      One iteration will be composed of a number of sprints.

      Mindmap available here

      Project management:

      The first iteration will be composed of the following streams;

      1 - Common Widget API

      Name Description Task
      API Define common widget set and property API for all styles QTCOMPONENTS-200

      Demos and applications

      Provide proof of concept design and demos running on device for showing stylable components, I18n and input methods. Should start with design work for prioritizing the components for 1st iteration.

      Name Description Task
      Calculator A simple calculator that emulates the built-in calculator on MeeGo QTCOMPONENTS-73
      Notes a notes app, where you you can fill in text, but also add related context, such as, images, multimedia, contacts, etc QTCOMPONENTS-74
      Gallery A widget gallery app that demonstrates components and their features QTCOMPONENTS-84

      Styling and components

      In this project we have the following definition of style and theme:

      • Style is the visual structure, in this case a component set with common Look & Feel
      • Theme is a group of properties that reflect on the corresponding style.

      The main purpose for this stream is to deliver a set of ui components to be used with Qt Quick. These components should fit with the native Look and Feel.

      There are two main users for this feature: application and platform developers.

      Application developers Platform developers
      Want a tool (with component drag&drop support) to ease development/deployment of their apps Want to create a new visual identity
      Want to use native styled components in the 'control' part of the apps Do not want to implement everything from scratch. Want to reuse boilerplate code (eg. Slider logic)
      Want to use their custom styled components Freedom to choose which "theming" capabilities to support, for instance, two base colors, or a default font, or everything
      Might want to have access to theme information  
      Component name Description Item number
      Label A label that has the platform fonts settings QTCOMPONENTS-93
      PushButton A simple push button QTCOMPONENTS-75
      CheckBox A checkbox button with label QTCOMPONENTS-76
      SwitchButton A switch button, same functionality as the CheckBox with different look QTCOMPONENTS-91
      IconButton An icon only button, used in toolbars and menu QTCOMPONENTS-92
      ButtonGroup item that groups buttons and keeps track of exclusivity QTCOMPONENTS-78
      LineEdit text layout, selection, popup menu for copy&paste, input completion & validation, integration with virtual keyboard QTCOMPONENTS-79
      Slider converting coordinates to values QTCOMPONENTS-80
      ProgressBar animation between values, converting coordinates to values in the model QTCOMPONENTS-81
      Dialogs A query, entry and selection dialog QTCOMPONENTS-94
      List Item provide a list component (item) that has native look'n'feel QTCOMPONENTS-95
      ComboBox A view on selected item from a flat list, with a popup for selection modification QTCOMPONENTS-82
      Spinner A spinner component QTCOMPONENTS-96
      ScrollArea ScrollBar depends on ScrollArea, kinetic scrolling QTCOMPONENTS-83

      Virtual keyboard handling

      Ability to provide a custom virtual keyboard, which could change the appearance, positioning, effects and content (language, numbers, etc). API for virtual keyboard geometry handling and positioning of input component.

      Virtual keyboard handling Descritpion Task
      Select input type (eg, number only) Enable defining what kind of input the text field expect and present the appropriate keyboard QTCOMPONENTS-118
      Virtual Keyboard support for LineEdit Enable raising the virtual keyboard for the line edit input element QTCOMPONENTS-119
      Virtual Keyboard support for TextEdit Enable raising the virtual keyboard for the text edit input element QTCOMPONENTS-120
      Copy&Paste Enable the copy&paste button for from the vkb QTCOMPONENTS-133
      Transition sync Enable host window geometry change for Virtual Keyboard slide-in QTCOMPONENTS-121
      Hide vkb when clicking outside the vkb area LineEdit should loose focus when clicking outside its area (then vkb disappears) QTCOMPONENTS-152

      Window Frame / Platform Integration

      Expose an Element that provides integration capabilities with the Application frame area; Titlebar, toolbar, home and close buttons as well as enable responding to device orientation

      What Description Task
      Window element provide API to run fullscreen, quit, rotate etc QTCOMPONENTS-100 QTCOMPONENTS-54
      ToolBar and TabBar element tool bar and tab bar offer the user simple menu items to interact with QTCOMPONENTS-101
      TitleBar element   QTCOMPONENTS-102
      StatusBar element   QTCOMPONENTS-103
      Pages element provide a way for doing screen navigation, including back, home and close buttons QTCOMPONENTS-104
      Haptics provide haptics feedbacks on the components QTCOMPONENTS-170

      Provide meego styled components on the desktop, cross platform, for tooling

      What Description Task
      Meego for desktop use provide a (fake) theme server to use meego components on the desktop QTCOMPONENTS-169

      Extra Backlog

      Those items can be prioritized for the next iterations.

      • i18n
      • Accessibility
      • Desktop Styles
      • Mac Style
      • Windows Style
      • More demos and applications
      • component focus handling using keyboard

      More components:

      • Grid item (background styling)
      • DateTimeEdit
      • Dialogs (notification, platform call)
      • Tooltip (more netbook, desktop oriented)
      • Popup Menu (long press menu)
      • System notifications (Banner is meego)


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            lscunha Leonardo Sobral Cunha (Inactive)
            hhartz Henrik Hartz (closed Nokia identity) (Inactive)
            2 Vote for this issue
            19 Start watching this issue



                Gerrit Reviews

                There are no open Gerrit changes