Qt 奇数布局
我得到了以下原始安排:Qt 奇数布局,qt,qlayout,qgridlayout,Qt,Qlayout,Qgridlayout,我得到了以下原始安排: 五个非标准尺寸的按钮w:400,h:300,按如下方式排列:四个方形模式,两个在顶部,两个在按钮处,紧密结合在一起,第五个按钮在中间,与其他四个按钮重叠。我想知道当我扩展、最大化和/或最小化窗口时,是否有任何布局gridlayout、表单布局等可以用来保持这种布局?感谢您的帮助。使用QGridLayout,尺寸为4x4。然后,让每个按钮使用2x2网格布局单元,您可以使用右侧。这里给出了2的列和行跨度。听起来像是一个家庭作业问题 我的第一种方法是在设置网格布局后,将第二个小
五个非标准尺寸的按钮w:400,h:300,按如下方式排列:四个方形模式,两个在顶部,两个在按钮处,紧密结合在一起,第五个按钮在中间,与其他四个按钮重叠。我想知道当我扩展、最大化和/或最小化窗口时,是否有任何布局gridlayout、表单布局等可以用来保持这种布局?感谢您的帮助。使用QGridLayout,尺寸为4x4。然后,让每个按钮使用2x2网格布局单元,您可以使用右侧。这里给出了2的列和行跨度。听起来像是一个家庭作业问题 我的第一种方法是在设置网格布局后,将第二个小部件作为第一个小部件的父部件。然后,您必须使用第一个小部件调整第二个小部件的大小。我过去也曾和你一起做过 @对于这个问题,海德的解决方案要优雅得多。我将所有内容都放在堆上,但是对于这样一个简单的应用程序,所有内容都可以放在堆栈上,而不是QWidget*w=newqwidget;=>qw 如果在调整网格大小时希望网格元素保持居中且没有间隙,请确保在外部添加缓冲区行/列,并为其设置拉伸值。像这样
希望能有所帮助。谢谢您的回复。我会试试的,让你知道,我会试试的。谢谢
#include <QApplication>
#include <QWidget>
#include <QGridLayout>
#include <QPushButton>
#include <QList>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget * w = new QWidget();
QGridLayout * grid = new QGridLayout();
QList <QPushButton *> buttons;
for(int i = 0; i< 5; i++)
{
buttons.append(new QPushButton("Button "+ QString::number(i+1)));
buttons.last()->setFixedSize(400, 300);
}
grid->addWidget(buttons.at(0),0,0,2,2);// upper left
grid->addWidget(buttons.at(1),0,2,2,2);// upper right
grid->addWidget(buttons.at(2),2,0,2,2);// lower left
grid->addWidget(buttons.at(3),2,2,2,2);// lower right
grid->addWidget(buttons.at(4),1,1,2,2);// centered
w->setLayout(grid);
w->show();
return a.exec();
}