Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt-如何像这样定位UI元素?_Qt_User Interface - Fatal编程技术网

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

Qt-如何像这样定位UI元素?,qt,user-interface,Qt,User Interface,我正在Qt中创建一个UI,它有一个QDockWidget,其中包含QPushButton和QLineEdit。请参考随附的模型。我已经创建了小部件组件,并成功地将它们安装并运行。然而,他们并没有按照我所希望的方式定位。调整窗口大小时,两个元素都应向左浮动,使额外的空间向右延伸 代码- this->searchField = new QLineEdit; //"this" is a QDockWidget subclassed Object searchField->

我正在Qt中创建一个UI,它有一个QDockWidget,其中包含QPushButton和QLineEdit。请参考随附的模型。我已经创建了小部件组件,并成功地将它们安装并运行。然而,他们并没有按照我所希望的方式定位。调整窗口大小时,两个元素都应向左浮动,使额外的空间向右延伸

代码-

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);
任何建议或帮助都会很棒! 谢谢您的时间:)

将最小尺寸为零且拉伸因子为拉伸的可拉伸空间(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
希望有帮助

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