import QtQuick 2.7 import QtQuick.Controls 2.4 import QtQuick.Controls.Material 2.0 import QtQuick.Layouts 1.3 import QtQuick.Controls 1.4 import "theme" GridLayout { id: root // have children ... control whether to stack or row them // n * minWidth determines row or column property int minCellWidth: Theme.sidePaneMinSize onWidthChanged: resizeCheck() function resizeCheck() { if (width < children.length * minCellWidth) { root.rows = -1 root.columns = 1 } else { root.rows = 1 root.columns = -1 } } }