Qt Reference Documentation

QML Row Element

The Row item arranges its children horizontally. More...

Inherits Item

  • List of all members, including inherited members
  • Properties

    Detailed Description

    The Row item positions its child items so that they are horizontally aligned and not overlapping.

    Use spacing to set the spacing between items in a Row, and use the add and move properties to set the transitions that should be applied when items are added to, removed from, or re-positioned within the Row.

    The below example lays out differently shaped rectangles using a Row.

     Row {
         spacing: 2
         Rectangle { color: "red"; width: 50; height: 50 }
         Rectangle { color: "green"; width: 20; height: 50 }
         Rectangle { color: "blue"; width: 50; height: 20 }

    Note that the positioner assumes that the x and y positions of its children will not change. If you manually change the x or y properties in script, bind the x or y properties, use anchors on a child of a positioner, or have the width of a child depend on the position of a child, then the positioner may exhibit strange behaviour. If you need to perform any of these actions, consider positioning the items without the use of a Row.

    Items with a width or height of 0 will not be positioned.

    See also Column and Positioners example.

    Property Documentation

    This property holds the transition to apply when adding an item to the positioner. The transition will only be applied to the added item(s). Positioner transitions will only affect the position (x,y) of items.

    An object is considered to be added to the positioner if it has been created or reparented and thus is now a child or the positioner, or if the object has had its opacity increased from zero, and thus is now visible.

    move : Transition

    This property holds the transition to apply when moving an item within the positioner. Positioner transitions will only affect the position (x,y) of items.

    This can happen when other items are added or removed from the positioner, or when items resize themselves.

     Row {
         id: positioner
         move: Transition {
             NumberAnimation {
                 properties: "x"
                 ease: "easeOutBounce"

    spacing : int

    spacing is the amount in pixels left empty between each adjacent item, and defaults to 0.

    The below example places a Grid containing a red, a blue and a green rectangle on a gray background. The area the grid positioner occupies is colored white. The top positioner has the default of no spacing, and the bottom positioner has its spacing set to 2.


    Thank you for giving your feedback.

    Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.