我想将一些小部件放置在父小部件中的一些随机位置,例如一个按钮位于点 (10,10) 处,另一个按钮位于 (15,40) 处,等等。如何实现这一点? QGridLayout 将所有内容推向行列样式。但我想把小部件放在我想要的任何地方,有人可以帮助我吗?
If you really想要设置绝对位置,我会完全忽略使用布局。您可以使用以下命令手动设置元素的位置move()
函数或setGeometry()
功能。
QWidget *parent = new QWidget();
parent->resize(400, 400);
QPushButton *buttonA = new QPushButton(parent);
buttonA->setText("First Button");
buttonA->move(10, 10);
QPushButton *buttonB = new QPushButton(parent);
buttonB->setText("Second Button");
buttonB->move(15, 40);
边注:我会避免在 Qt 中设置元素的绝对位置。为什么?嗯,Qt 试图成为一个独立于平台的 GUI 库。在不同的平台上,许多显示内容可能会发生变化(即按钮中文本的字体大小),因此实际按钮的大小可能会有所不同,以适应较大或较小的字体大小。如果您使用绝对位置(如上例所示),这可能会破坏您精心布置的按钮。
如果您使用布局,则可以避免按钮重叠或按钮从窗口边缘掉落。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)