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/9/visual-studio/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
C++ QHBoxLayout小部件对齐仅影响第一个小部件_C++_Qt - Fatal编程技术网

C++ QHBoxLayout小部件对齐仅影响第一个小部件

C++ QHBoxLayout小部件对齐仅影响第一个小部件,c++,qt,C++,Qt,当我创建QHBoxLayout并使用addWidget在其中添加小部件,然后调用myLayout->setAlignmentnewWidget,Qt::AlignLeft时,这只会捕捉我添加的第一个小部件。当我添加其他小部件并将它们的对齐设置为左侧时,它们仍然从布局的中心开始,然后被我添加的更多小部件挤压。我如何使它们彼此紧靠在左边?如果我理解正确,您想要的是让小部件水平排列,但尽可能向左 如果是这样,您可以将QHBoxLayout添加到常规this->getLayout->AddLayoutL

当我创建QHBoxLayout并使用addWidget在其中添加小部件,然后调用myLayout->setAlignmentnewWidget,Qt::AlignLeft时,这只会捕捉我添加的第一个小部件。当我添加其他小部件并将它们的对齐设置为左侧时,它们仍然从布局的中心开始,然后被我添加的更多小部件挤压。我如何使它们彼此紧靠在左边?

如果我理解正确,您想要的是让小部件水平排列,但尽可能向左

如果是这样,您可以将QHBoxLayout添加到常规this->getLayout->AddLayoutLayourLayout,然后使用setContentMargins;或setStretchFactorQWidget*小部件,int-stretch


没有代码是很困难的,但是。。。另一个可能的问题是小部件的大小。您可以使用setSizePolicy修复它。。。使用MinimumExpanding设置SizePolicy QSizePolicy::MinimumExpanding,QSizePolicy::首选

也许您的第一个小部件具有水平扩展策略。如果要粘贴它们,请尝试使用addStretch方法将间隔条添加为最后一个布局项。另外,您最好使用QHBoxLayout类,而不是直接使用QLayout。是的,对不起,我使用QHBoxLayout