繁体   English   中英

Qt-如何定位这样的UI元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM