gpt4 book ai didi

c++ - QGridLayout 的行跨度没有按预期工作

转载 作者:太空狗 更新时间:2023-10-29 23:52:58 24 4
gpt4 key购买 nike

下面是如何绘制一个跨越两列的按钮:

#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();
}

运行代码给我:

enter image description here

如果我更改布局以获得跨越 2 行的按钮 baz,我将失败:

layout->addWidget(foo, 0, 0);
layout->addWidget(bar, 1, 0);
layout->addWidget(baz, 0, 1, 2, 1); // (try to) span 2 rows

这是我得到的:

enter image description here

最佳答案

您的布局很好,baz 按钮跨越两行。问题是它没有使用所有可用空间。您必须将按钮的垂直调整大小策略从 Fixed 更改为 MinimumExpanding。

关于c++ - QGridLayout 的行跨度没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com