在qt文档中,我一直在尝试弄清楚一个小部件的坐标是如何到达at.For实例的,我想知道这是怎么做到的。

QGridLayout *layout = new QGridLayout;
layout->addWidget(button1, 0, 0);
layout->addWidget(button2, 0, 1);
layout->addWidget(button3, 1, 0, 1, 2);
layout->addWidget(button4, 2, 0);
layout->addWidget(button5, 2, 1);
window->setLayout(layout);
window->show();作者是如何得到上面的坐标的,他/她是否使用了笛卡尔平面上的知识?
发布于 2011-07-28 16:58:36
QGridLayout使用简单的行/列逻辑。像往常一样,行号和列号从0开始。
QGridLayout *layout = new QGridLayout;
layout->addWidget(button1, 0, 0); //Add to row 0 column 0
layout->addWidget(button2, 0, 1); //Add to row 0 column 1
layout->addWidget(button3, 1, 0, 1, 2); //Add to row 1 column 0 and span to row 1 column 1
layout->addWidget(button4, 2, 0);//Add to row 2 column 0
layout->addWidget(button5, 2, 1);//Add to row 2 column 1这就是你要问的吗?
发布于 2015-09-10 13:32:39
QGridLayout::addWidget有两种不同的形式。
第一个:
void QGridLayout::addWidget(QWidget * widget, int row, int column)将给定的小部件添加到单元格的行、列。
第二个问题:
void QGridLayout::addWidget(QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan)单元格将从fromRow开始,跨越rowSpan行和columnSpan列。
layout->addWidget(button2, 0, 1);//button2 will be added to row 0, column 1
layout->addWidget(button3, 1, 0, 1, 2);//button3 will be added to row 1, column 0 spanning 1 row and 2 columns.参考:qt doc
https://stackoverflow.com/questions/6856137
复制相似问题