- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 qt 的新手,现在我的窗口看起来像这样:
*---------* *---------* *---------* *---------*
|ListView1| |ListView2| |ListView3| |ListView4|
| | | | | | | |
*---------* *---------* *---------* *---------*
*---------------------------------------------*
| |
| ListView5 |
| |
*---------------------------------------------*
*---------------------------------------------*
| GridLayout2 |
| |
*---------------------------------------------*
问题是第二行(ListView5)高于第一行和第三行,而我希望第一行高于第三行,第三行应该高于第二行。有办法吗?或者我应该使用 gridlayout 的其他东西吗?谢谢。
最佳答案
我建议您阅读文档 here ,有关将小部件添加到布局时如何分配其大小的信息:
- All the widgets will initially be allocated an amount of space in accordance with their
QWidget::sizePolicy()
andQWidget::sizeHint()
.- If any of the widgets have stretch factors set, with a value greater than zero, then they are allocated space in proportion to their stretch factor.
- If any of the widgets have stretch factors set to zero they will only get more space if no other widgets want the space. Of these, space is allocated to widgets with an
Expanding
size policy first.- Any widgets that are allocated less space than their minimum size (or minimum size hint if no minimum size is specified) are allocated this minimum size they require. (Widgets don't have to have a minimum size or minimum size hint in which case the stretch factor is their determining factor.)
- Any widgets that are allocated more space than their maximum size are allocated the maximum size space they require. (Widgets do not have to have a maximum size in which case the stretch factor is their determining factor.)
假设您没有更改QListView
的sizePolicy
,那么,它们都具有 的默认
。这意味着,您只需要设置合适的 stretch factors对于 sizePolicy
展开QGridLayout
中的行。
如果您使用的是 Qt 设计器,只需单击 QGridLayout
(或具有 QGridLayout
的小部件),然后在属性编辑器中设置 layoutRowStretch
到类似 3,1,2
的内容。
3,1,2
将设置第三行填满第二行空白高度的两倍,而第一行将填满空白高度的三倍由第二排拍摄。
如果你想在没有设计器的情况下这样做,你可以使用 setRowStretch
,像这样:
gridLayout.setRowStretch(0, 3);
gridLayout.setRowStretch(1, 1);
gridLayout.setRowStretch(2, 2);
关于c++ - QGridLayout : change height of a row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806482/
是否可以在另一个 QGridLayout 中包含 QGridLayouts?我一直在尝试使用 UI 设计器来执行此操作,以便我可以统一调整所有 QGridLayouts 的大小。 这是我为了好玩而创建
我正在尝试使 QGridLayout 可滚动。它可能包含几个自定义小部件,小部件的数量不固定。当有超过 x 个小部件时,QGridLayout 必须是可滚动的,x 是任意数字。 问题是,当我使用 QS
我一直在试图弄清楚小部件的坐标是如何到达的。例如在 qt 文档中,我想知道这是如何完成的。 QGridLayout *layout = new QGridLayout; layout->ad
问题说明了一切。 我有一个 5 x 3 的网格。 看起来像这样 row 0: buttonA--buttonA--buttonA nothing buttonB--buttonB--butt
我有一个 QGridLayout并且需要删除其所有按钮,然后重新创建它们。 我尝试使用 count() 循环布局其次是 takeAt()删除返回的 LayoutItem的小部件。然而,出于某种原因,我
我想用QWidgets填充QGridLayout。 QWidgets 需要以从左上到右上的方式显示,并在每行填充 QWidgets 后继续向下填充。类似且熟悉的 GUI 的一个例子是 Apple 如何
我正在尝试将 Qgridlayout 用于我的 GUI。我希望减小 Qspin 的宽度,如图所示。有什么建议我该怎么做吗?谢谢 layout.addWidget(checkBoxVBG,1,0
我有一个 QTableWidget 和 6 个 QPushBotton 我想以这种方式将它们放在一个布局中 只是按钮之间的小间距 但是使用 QGridLayout 让它看起来像这样 代码: t
我正在使用 QGridLayout 添加一个 QPushButton 和一个 QTextEdit。但每当我隐藏和删除 QTextEdit 小部件 时,QPushButton 就会出现在 QTextEd
我正在使用 Qt5.5 为我的项目构建图形用户界面并尝试使用 QGridLayout。 第一个来源 此代码按我预期的方式工作。 QGridLayout * layout = new QGridLayo
不幸的是,我找到的这个问题的答案对我不起作用。我想我在某个地方犯了错误...... 我想向 QGridLayout 添加内容: int rows = 2; int columns = 2; for(i
我正在尝试创建一个如下所示的布局: _________ | | | |1 | 2 | |__|______| | 3 | 4 | |____|____| 基本上,我希望第一行的
我目前有一个 QGridLayout 的问题。 每个方 block 都是一个小部件,我有一个这样的循环 for(int i = 0; i layout->addWidget(new Square(th
我正在尝试创建一个程序,让用户可以通过三个选项来回答问题。我为此使用了 QGridLayout,但只显示了最后添加到 QGridLayout 的小部件。 预期: ###################
我有一个 QGridLayout 来处理我的小部件。事实上,它们留在我放置的列中,而没有扩展整个宽度。是否有任何选项可以告诉行完全展开?目标是模仿 QHBoxLayout 的行为,但不使用 QHBox
我对 QGridLayout 有疑问。我的布局的一行包含一个通常隐藏的元素 (QProgressbar)。当有一些进展要报告时,我会调用它。问题是,当我在 QProgressbar 上调用 show
我有一个这样设置的对话框: 除标题外,每个组件的属性都设置为默认值。我希望包含 label_3 的行与其他三行的高度相同(为了清楚起见,底部的行将展开以占用剩余空间,如图所示)。问题是复选框与文本框的
我有一个按钮,后面跟着一个充满小部件的 QGridLayout。我想在每次单击按钮时显示/隐藏 QGridLayout,但是阅读 QGridLayout 的文档我发现没有 show()/hide ()
下面是如何绘制一个跨越两列的按钮: #include int main(int argv, char **args) { QApplication app(argv, args);
是否可以通过某种方式设置 QGridLayout 列可以扩展到的最大宽度? 如果我为列内的小部件设置最大宽度,即使达到小部件大小限制,该列也会继续增长。 我是 Qt 的新手,所以也许我遗漏了一些东西.
我是一名优秀的程序员,十分优秀!