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
Qt 为什么可以';我不能在布局中放一个QFrame吗?_Qt - Fatal编程技术网

Qt 为什么可以';我不能在布局中放一个QFrame吗?

Qt 为什么可以';我不能在布局中放一个QFrame吗?,qt,Qt,我有这样的架构: 但正如您所看到的,sfmlFrame不在“游戏室”布局中。 因此,当我调整窗口的大小时,sfmlFrame保持不变,并且从未触发resizeEvent XML: QFrame::StyledPanel QFrame::提出 你知道为什么sfmlFrame不能放在布局中吗 编辑:框架位于布局内,对象树中的“断开的布局”图标表示框架本身没有布局。为什么游戏室的布局是网格?如果您只需要一个框架,请将游戏室布局更改为垂直(QVBoxLayout)或水平(对于独生子女来说并不重要)

我有这样的架构:

但正如您所看到的,sfmlFrame不在“游戏室”布局中。 因此,当我调整窗口的大小时,sfmlFrame保持不变,并且从未触发
resizeEvent

XML:


QFrame::StyledPanel
QFrame::提出
你知道为什么sfmlFrame不能放在布局中吗


编辑:

框架位于布局内,对象树中的“断开的布局”图标表示框架本身没有布局。

为什么游戏室的布局是网格?如果您只需要一个框架,请将游戏室布局更改为垂直(QVBoxLayout)或水平(对于独生子女来说并不重要)。我也尝试只在框架中添加布局,但仍然不起作用,我仍然有损坏的布局图标。您是如何“添加”布局的?选择框架并按其中一个布局工具栏按钮?您无法布局框架,因为它没有要布局的内容。如果您在其中添加QWidget示例,您应该能够在其上应用布局。@Rinold啊,似乎只能在代码中的空容器上设置布局。在任何情况下,这只会使“断开的布局”符号发生变化。@DimitriDanilov,我明白了,一定是在某些设计器版本中发生了变化,现在只能在代码中进行。虽然很奇怪,但这只是一个暂时的问题,因为一旦将子对象添加到框架中,它就会消失。此时帧也将具有一个大小。适合它的内容
<widget class="QWidget" name="gameRoom">
       <layout class="QGridLayout" name="gridLayout_4">
        <item row="0" column="0">
         <widget class="QFrame" name="sfmlFrame">
          <property name="frameShape">
           <enum>QFrame::StyledPanel</enum>
          </property>
          <property name="frameShadow">
           <enum>QFrame::Raised</enum>
          </property>
         </widget>
        </item>
       </layout>