c++ - 如何从 Qt Creator 的 UI 设计器中的其他两个布局之间删除 Qt 布局?
问题描述
我的 Qt 表单中有以下结构:
怎样才能彻底去除遗嘱VerticalLayout_1
,让gridLayout_8
遗嘱成为直系和独生子page_4
?
我尝试从右键菜单中选择删除,但这VerticalLayout_1
也会删除子项。我也尝试gridLayout_8
在拖放界面中移动 ,但由于它是唯一的孩子verticalLayout_1
,我只是无法将它移动到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
成为 of 的直接子级<item>
,page_4
即:
...
<layout class="QGridLayout" name="page_4">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout_8">
...
</layout>
</item>
</layout>
...
之后,您可以在 QtCreator 中重新打开 XML 文件,以确保一切正常。
我不确定是否有更简单的方法可以从 QtCreator 获得相同的结果。如果您知道,请随时添加答案。
推荐阅读
- terminal - 如何在所有用户上获得 Oh My Zsh 的所有功能?
- unity3d - InvokeRepeating 生成太多游戏对象
- php - Wordpress Ajax 和 REST API 响应显示带有缓存结果的数据 WP Engine
- scala - 如何从列中获取唯一的字符串列表?
- angular - 允许 html/script 在 Angular 模板中嵌入代码
- php - 仅在页面上显示当前用户的 wordpress 评论
- javascript - Vue问题导航到错误页面和从错误页面导航
- javascript - jQuery Masonry 项目以错误的顺序堆叠
- xml - 带有 11 个字符时间戳的 XML 文件
- python - 如何模拟另一个.py使用的类及其方法