Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.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/8/qt/6.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++ 具有独立布局的嵌套Qt小部件_C++_Qt_User Interface - Fatal编程技术网

C++ 具有独立布局的嵌套Qt小部件

C++ 具有独立布局的嵌套Qt小部件,c++,qt,user-interface,C++,Qt,User Interface,我希望在不同的小部件/窗口/对话框之间重用Qt布局的部分,并使重用的部分尊重顶级小部件布局的布局间距 为了重用零件,我目前为我要重用的零件创建了从QWidget派生的单独类(每个类都有自己的布局)。但是,当使用自己的布局嵌套小部件时,嵌套的小部件会获得自己的内容边距,并有自己的间距。它们不会考虑父窗口小部件布局的间距 在Qt中,有可能在外部留出内容空白,并且小部件之间的间距相等。所有小部件都有相同的父部件(主小部件/窗口),只有布局是嵌套的。间距继承到子布局 是否有一种方法可以在重用布局的零件时

我希望在不同的小部件/窗口/对话框之间重用Qt布局的部分,并使重用的部分尊重顶级小部件布局的布局间距

为了重用零件,我目前为我要重用的零件创建了从
QWidget
派生的单独类(每个类都有自己的布局)。但是,当使用自己的布局嵌套小部件时,嵌套的小部件会获得自己的内容边距,并有自己的间距。它们不会考虑父窗口小部件布局的间距

在Qt中,有可能在外部留出内容空白,并且小部件之间的间距相等。所有小部件都有相同的父部件(主小部件/窗口),只有布局是嵌套的。间距继承到子布局

是否有一种方法可以在重用布局的零件时实现这一点,以便嵌套零件尊重父布局的间距


或者,我是否可以检测小部件何时插入布局,并应用父级布局的属性而不是使用默认值?

我猜您在主小部件中执行类似操作:

mainLayout->addWidget(subWidget1)
mainLayout->addWidget(subWidget2)
您是否尝试过这样做:

mainLayout->addLayout(subWidget1->layout())
mainLayout->addLayout(subWidget2->layout())

我认为可能有一种方法可以从一个小部件提升整个布局,这样小部件就只是一个布局的无意载体。您可能希望尝试一下。这是有道理的,但似乎不起作用:-(。子窗口小部件没有布局,甚至没有显示。