Home · All Namespaces · All Classes · Grouped Classes · Modules · Functions codeless banner

Qt Extended Style Guide: Application Design

Application Styles

There are two basic styles of application:

Item-based Applications

The main window of an item-based application presents a list of items, or in rare cases a list of sub-lists.

Note: The items may or may not be associated with files. The entries in Contacts or photos in Pictures are equally considered as items.

Item-based applications follow a standard navigational flow:

List of Lists

This is rarely needed. It is used when there are a number of lists that behave differently or have some incompatible properties. An example application is the Qt Extended Messaging application. This application shows folders that have specific functions. The Outbox, Trash, Inbox, etc. folders have specific properties that preclude grouping their items into one list.

The context menu should contain entries that act on all of the lists, and optionally a New entry.

Highlighting a list and pressing Select displays the list of items. Pressing Back or Done should close the application.

List of Items

This is the screen most applications will display when started via the launcher. It lists the items that the application may view and/or edit. It is recommended that the menu contains a View Category... option to display only the items in the selected category.

The context menu should contain entries that act on all of the items, and optionally a New entry.

Highlighting an item and pressing Select should display a more detailed view of the highlighted item. Pressing Back or Done should return to the previous list of lists (if present), or close the application otherwise.

When an item in the list is used to group or store information; selecting that list item should present the information about that item.

Viewing a Single Item

This screen displays the detailed view of a single item, and may allow navigation and activation of data within the view. The context menu should contain entries that act only on the viewed item. If the application can edit the item, it should contain an Edit menu entry. If the view contains elements that can be activated, then the Select key should activate the highlighted element. Pressing Back or Done should return to the list of items.

Editing a Single Item

This screen allows a single item to be modified. Edit screens should be able to be canceled via the Cancel option found in the context menu. When creating or editing an item, the first tab should be displayed with the first input widget focused.

The context menu should be limited to those entries that act on the item being edited. Phones that do not offer a No button may automatically have a Cancel entry added to the end of the menu.

Pressing Back or Done should accept the changes and return to the view. Pressing Cancel should discard the changes and return to the view.

Note: In most cases, when a user selects the Done or Back option without making any changes, it should act as the Cancel option to prevent an empty item from being stored.

Deleting a Single Item

An application that can create or edit an item needs to provide the ability to remove an item of the same type. Items are only able to be deleted when viewing or editing details, and hence can only deleted one at a time.

Navigational Flow

In order to maintain a consistent navigational flow, the following rules should be followed:

Form Layout

An input form provides a simple and familiar way for the user to input data. If your application includes an input form, consider using QFormLayout to arrange your form, as this will help ensure a consistent look and feel with other input forms in Qt Extended.

It is recommended that the same input form be used when creating and editing an item.

Task-based applications

Task-based applications allow a specific task to be performed. For example viewing the time in Clock or performing calculations in Calculator.

Note: While task-based applications do not operate on items, they may generate items that are then accessed in other applications. For example, Camera is a task-based application that produces photos which can be used by Pictures, an item-based application.


Copyright © 2009 Trolltech Trademarks
Qt Extended 4.4.3