[英]Qt- How to position UI elements like this?
我在Qt中创建了一个UI,它有一个包含QPushButton和QLineEdit的QDockWidget。 请参阅随附的模型。 我创建了小部件组件并成功启动并运行它们。 然而,它们并不像我希望的那样定位。 当调整窗口大小时,两个元素都应向左浮动,从而使额外的空间向右伸展。
编码-
this->searchField = new QLineEdit; //"this" is a QDockWidget subclassed Object
searchField->setFixedWidth(200);
mainMenu = new Menu();
QHBoxLayout *layout= new QHBoxLayout;
QSpacerItem *filler = new QSpacerItem(1000, 10);
layout->addWidget(mainMenu->getMenuBar());
layout->addWidget(this->searchField);
layout->addSpacerItem(filler);
任何建议或帮助都会很棒! 谢谢你的时间 :)
http://qt-project.org/doc/qt-4.8/layout.html
http://qt-project.org/doc/qt-4.8/qboxlayout.html#addStretch
void QBoxLayout::addStretch ( int stretch = 0 )
添加一个零可伸缩空间(QSpacerItem),其最小尺寸为零,拉伸系数拉伸到此框布局的末尾。
这就是你的新代码的样子:
this->searchField = new QLineEdit;
searchField->setFixedWidth(200);
mainMenu = new Menu();
QHBoxLayout *layout= new QHBoxLayout;
layout->addWidget(mainMenu->getMenuBar());
layout->addWidget(this->searchField);
layout->addStretch(); // Added this
希望有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.