我想填充QGridLayout用QWidgets.在QWidgets需要出现在左上至右上的方式,并继续向下填补了下来每一行充满后QWidgets.类似且熟悉的GUI的一个例子是Apple如何在iPhone或iPad的主屏幕上对其应用程序进行分类.应用程序从左上角到右上角,并在每行填充后继续向下移动.
现在,每当我添加元素时,它们都会占据整个屏幕和/或不会彼此相邻添加.
这是我正在做的示例代码
m_gridLayout = new QGridLayout(this);
this->setLayout(m_gridLayout);
m_gridLayout->addWidget(widgetToBeAdded, m_currentRow, m_currentColumn, Qt::AlignLeft);
Run Code Online (Sandbox Code Playgroud)
我按预期继续更新m_currentColumn和m_currentRow.在一定数量的列之后,我告诉它改为下一行,没有任何反应.我已通过调试确认它实际上正在吐出正确的行和列.)
最后,我需要抛出一个,QScrollArea以便可以向下滚动网格.
每个的大小都是QWidget一样的.如果我能够在正确分类网格方面获得任何帮助,我们将不胜感激.
编辑:使用下面的答案,我设法让我的项目按正确的顺序排序.但是,在垂直方向上的所有元素之间存在大量空间.正如我想的那样,改变verticalSpacing属性并不能避免这种情况.有谁知道怎么办?