- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
下面是如何绘制一个跨越两列的按钮:
#include <QtGui>
int main(int argv, char **args)
{
QApplication app(argv, args);
QPushButton *foo = new QPushButton("foo");
QPushButton *bar = new QPushButton("bar");
QPushButton *baz = new QPushButton("baz");
QGridLayout *layout = new QGridLayout();
layout->addWidget(foo, 0, 0);
layout->addWidget(bar, 0, 1);
layout->addWidget(baz, 1, 0, 1, 2); // span 2 columns
QWidget window;
window.setLayout(layout);
window.setWindowTitle("test");
window.show();
return app.exec();
}
运行代码给我:
如果我更改布局以获得跨越 2 行的按钮 baz
,我将失败:
layout->addWidget(foo, 0, 0);
layout->addWidget(bar, 1, 0);
layout->addWidget(baz, 0, 1, 2, 1); // (try to) span 2 rows
这是我得到的:
最佳答案
您的布局很好,baz 按钮跨越两行。问题是它没有使用所有可用空间。您必须将按钮的垂直调整大小策略从 Fixed 更改为 MinimumExpanding。
关于c++ - QGridLayout 的行跨度没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039858/
是否可以在另一个 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 的新手,所以也许我遗漏了一些东西.
我是一名优秀的程序员,十分优秀!