Presenting Data with QML


Qt Quick contains a set of standard items that can be used to present data in a number of different ways. For simple user interfaces, Repeaters can be used in combination with Positioners to obtain pieces of data and arrange them in a user interface. However, when large quantities of data are involved, it is often better to use models with the standard views since these contain many built-in display and navigation features.


Views are scrolling containers for collections of items. They are feature-rich, supporting many of the use cases found in typical applications, and can be customized to meet requirements on style and behavior.

A set of standard views are provided in the basic set of Qt Quick graphical elements:

  • ListView arranges items in a horizontal or vertical list
  • GridView arranges items in a grid within the available space
  • PathView arranges items on a path

Unlike these items, WebView is not a fully-featured view item, and needs to be combined with a Flickable item to create a view that performs like a Web browser.


ListView shows a classic list of items with horizontal or vertical placing of items.

The following example shows a minimal ListView displaying a sequence of numbers (using an integer as a model). A simple delegate is used to define an items for each piece of data in the model.

import QtQuick 1.0

ListView {
    width: 50; height: 200
    model: 4
    delegate: Text {
        text: index;
        font.pixelSize: 40


GridView displays items in a grid like an file manager's icon view.


PathView displays items on a path, where the selection remains in the same place and the items move around it.

Decorating Views

Headers and Footers



In traditional user interfaces, views can be scrolled using standard controls, such as scroll bars and arrow buttons. In some situations, it is also possible to drag the view directly by pressing and holding a mouse button while moving the cursor. In touch-based user interfaces, this dragging action is often complemented with a flicking action, where scrolling continues after the user has stopped touching the view.

Further Reading

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.