C++ 在QDialog中使用QGridLayout定位QPushButton?
我试图在一个简单的应用程序中定位一个C++ 在QDialog中使用QGridLayout定位QPushButton?,c++,qt,C++,Qt,我试图在一个简单的应用程序中定位一个QPushButton。我想做的是让一个按钮居中并位于应用程序的底部 我不想使用designer,因此请不要建议(出于我自己的好奇心)。以下是我的代码: QGridLayout* layout = new QGridLayout; QPushButton* button1 = new QPushButton("button1"); centralWidget->setLayout(layout); qDebug() << "columns:"
QPushButton
。我想做的是让一个按钮居中并位于应用程序的底部
我不想使用designer,因此请不要建议(出于我自己的好奇心)。以下是我的代码:
QGridLayout* layout = new QGridLayout;
QPushButton* button1 = new QPushButton("button1");
centralWidget->setLayout(layout);
qDebug() << "columns:";
qDebug() << layout->columnCount();
qDebug() << "rows:";
qDebug() << layout->rowCount();
button1->setFixedSize(100, 50);
layout->addWidget(button1,2,0,1,1,Qt::AlignCenter);
QGridLayout*layout=新的QGridLayout;
QPushButton*button1=新的QPushButton(“button1”);
centralWidget->setLayout(布局);
qDebug()addWidget(按钮1,2,0,1,1,Qt::AlignCenter);
所以,这里有几件事我很好奇
首先,当我执行一个columnCount()
和一个rowCount()
时,每一个都返回1
。如果我要在网格中设置按钮的行和列位置,我显然不想要1x1网格。我如何改变这个
第二,如果我想要一个空行怎么办?我必须用垫片吗
提前谢谢
首先,当我执行columnCount()和rowCount()时,它会返回
每人1个。如果我要设置
网格中的按钮,我显然不想要1x1网格。
我如何改变这个
如果网格的大小只有1 x 1,那么将小部件添加到网格中的位置(比如:row=20 column=20)没有问题。它只是创建一个空单元格(大小为零)来填充未使用的行和列
第二,如果我想要一个空行怎么办?我必须使用间隔垫圈吗
那个
是的,如果您想要一个空的行或列,您必须将一个间隔符(QSpacerItem
)或一个空的小部件(一个普通的QWidget
)放入其中一个单元格中。如果需要固定高度/宽度的行/列,则必须为此间隔符(或小部件)设置固定宽度或高度
首先,当我执行columnCount()和rowCount()时,它会返回
每人1个。如果我要设置
网格中的按钮,我显然不想要1x1网格。
我如何改变这个
如果网格的大小只有1 x 1,那么将小部件添加到网格中的位置(比如:row=20 column=20)没有问题。它只是创建一个空单元格(大小为零)来填充未使用的行和列
第二,如果我想要一个空行怎么办?我必须使用间隔垫圈吗
那个
是的,如果您想要一个空的行或列,您必须将一个间隔符(QSpacerItem
)或一个空的小部件(一个普通的QWidget
)放入其中一个单元格中。如果需要固定高度/宽度的行/列,则必须为此间隔符(或小部件)设置固定宽度或高度。首先,当我执行columnCount()和rowCount()时,每个间隔符返回1。如果我要在网格中设置按钮的行和列位置,我显然不想要1x1网格。我如何改变这个
是,可以修复此问题以将QSpacerItem添加到第0行和第1行
第二,如果我想要一个空行怎么办?我必须用垫片吗
是的,您可以使用QSpacerItem。首先,当我执行columnCount()和rowCount()时,返回的结果是每个值1。如果我要在网格中设置按钮的行和列位置,我显然不想要1x1网格。我如何改变这个
是,可以修复此问题以将QSpacerItem添加到第0行和第1行
第二,如果我想要一个空行怎么办?我必须用垫片吗
是的,您可以使用QSpacerItem。您不喜欢使用designer,但您仍然可以使用它来查看它产生了什么!我的意思是,如果你知道怎么做,你可以在那里设置你心目中的视图,然后检查
uic
生成的代码,看看你自己怎么做如何查看uic
文件?我可以查看它的.ui
文件,但它是XML格式的,不太适合查看。构建项目后,它旁边将有一个uifilename\u ui.h文件。查看该文件。您不喜欢使用designer,但仍然可以使用它来查看它产生了什么!我的意思是,如果你知道怎么做,你可以在那里设置你心目中的视图,然后检查uic
生成的代码,看看你自己怎么做如何查看uic
文件?我可以查看它的.ui
文件,但它是XML格式的,不太适合查看。构建项目后,它旁边将有一个uifilename\u ui.h文件。看那个文件。