如何从 Qt Creator 的 UI 设计器中的其他两个布局之间删除 Qt 布局?
How to remove Qt layout from between two other layouts in Qt Creator's UI designer?
我的 Qt 表单中有以下结构:
我怎样才能完全删除VerticalLayout_1
,使gridLayout_8
成为page_4
的直接且仅child?
我尝试从右键单击菜单中选择删除,但这也删除了 VerticalLayout_1
的 child。我也尝试在拖放界面中移动 gridLayout_8
,但由于它是 verticalLayout_1
中唯一的 child,我无法将其移动到 page_4.
一种可能的方法是手动编辑 .ui
XML 文件以删除不需要的布局。如果你在编辑器中打开你的 XML 文件,你应该会找到类似这样的东西:
...
<layout class="QGridLayout" name="page_4">
<item row="0" column="0">
<!-- below is the layout you want to remove -->
<layout class="QVBoxLayout" name="verticalLayout_1">
<item>
<layout class="QGridLayout" name="gridLayout_8">
...
</layout>
</item>
</layout>
</item>
</layout>
...
在您的情况下,您只需删除 <layout>
标签及其 <item>
子标签,这样 gridLayout_8
就成为 <item>
标签的直接子标签page_4
,即:
...
<layout class="QGridLayout" name="page_4">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_8">
...
</layout>
</item>
</layout>
...
之后,您可以 re-open QtCreator 中的 XML 文件,以确保一切看起来都符合预期。
我不确定是否有更简单的方法可以从 QtCreator 获得相同的结果。如果您知道任何,请随时添加答案。
select 可能很棘手,但在表格中,您应该能够 select 将 gridLayout_8 作为一个单元并将其拖入 [=15] =] 布局。这将使 verticalLayout_1 仍然存在,但为空,然后您可以轻松删除它。如果 gridLayout_8 布局的边距为零,则可能无法 select;您必须将边距设置为某种值,以便 gridLayout_8 的边框与 verticalLayout_1.
的边框分开
我一直在拖拽布局。困难的部分是确保布局是 selected 而不是其中的东西。如果您掉错地方或抓错东西,请准备好撤消并重试。
我的 Qt 表单中有以下结构:
我怎样才能完全删除VerticalLayout_1
,使gridLayout_8
成为page_4
的直接且仅child?
我尝试从右键单击菜单中选择删除,但这也删除了 VerticalLayout_1
的 child。我也尝试在拖放界面中移动 gridLayout_8
,但由于它是 verticalLayout_1
中唯一的 child,我无法将其移动到 page_4.
一种可能的方法是手动编辑 .ui
XML 文件以删除不需要的布局。如果你在编辑器中打开你的 XML 文件,你应该会找到类似这样的东西:
...
<layout class="QGridLayout" name="page_4">
<item row="0" column="0">
<!-- below is the layout you want to remove -->
<layout class="QVBoxLayout" name="verticalLayout_1">
<item>
<layout class="QGridLayout" name="gridLayout_8">
...
</layout>
</item>
</layout>
</item>
</layout>
...
在您的情况下,您只需删除 <layout>
标签及其 <item>
子标签,这样 gridLayout_8
就成为 <item>
标签的直接子标签page_4
,即:
...
<layout class="QGridLayout" name="page_4">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_8">
...
</layout>
</item>
</layout>
...
之后,您可以 re-open QtCreator 中的 XML 文件,以确保一切看起来都符合预期。
我不确定是否有更简单的方法可以从 QtCreator 获得相同的结果。如果您知道任何,请随时添加答案。
select 可能很棘手,但在表格中,您应该能够 select 将 gridLayout_8 作为一个单元并将其拖入 [=15] =] 布局。这将使 verticalLayout_1 仍然存在,但为空,然后您可以轻松删除它。如果 gridLayout_8 布局的边距为零,则可能无法 select;您必须将边距设置为某种值,以便 gridLayout_8 的边框与 verticalLayout_1.
的边框分开我一直在拖拽布局。困难的部分是确保布局是 selected 而不是其中的东西。如果您掉错地方或抓错东西,请准备好撤消并重试。