QT的QGridlaout修改widget位置
时间: 2023-10-23 22:09:49 浏览: 218
QT界面旋转切换Widget
5星 · 资源好评率100%
您可以使用QGridLayout的addWidget()函数来修改QWidget在网格布局中的位置。该函数的参数依次为要添加的widget、要放置的行索引、列索引、占据的行数和列数。下面是一个示例代码:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QGridLayout *layout = new QGridLayout(&window);
QPushButton *button1 = new QPushButton("Button 1");
QPushButton *button2 = new QPushButton("Button 2");
layout->addWidget(button1, 0, 0); // 将button1放置在第一行第一列
layout->addWidget(button2, 1, 1); // 将button2放置在第二行第二列
// 修改widget位置
layout->addWidget(button1, 1, 0); // 将button1移到第二行第一列
layout->addWidget(button2, 0, 1); // 将button2移到第一行第二列
window.show();
return app.exec();
}
```
在上述代码中,我们首先创建了一个QWidget窗口和一个QGridLayout布局。然后创建了两个QPushButton作为要放置的widget。通过调用addWidget()函数,我们将button1放置在第一行第一列,将button2放置在第二行第二列。最后,我们调用addWidget()函数来修改widget的位置,将button1移动到第二行第一列,将button2移动到第一行第二列。
您可以根据需要调整代码中的行列索引和占据的行数列数来实现您想要的布局效果。
阅读全文