将应用程序的主窗口 GUI 布局更改为代码

Posted

技术标签:

【中文标题】将应用程序的主窗口 GUI 布局更改为代码【英文标题】:Changing application's main window GUI layout to be in code 【发布时间】:2015-07-03 09:46:40 【问题描述】:

在我的应用程序中,主窗口的 GUI 是在 Qt-Creator 设计器中设计的。我很难让它看起来像我想要的那样,但是在 C++ 代码中做 GUI 时我可以。

所以,我打算将应用程序的主窗口更改为代码布局。

这样做时我应该记住什么?

如何确保所有菜单项和按钮点击等也被迁移?

【问题讨论】:

【参考方案1】:

在我的 Qt 经验中,我几乎总是在代码中编写布局,以下是我的建议:

a) 花一些时间考虑使用哪个布局,我个人倾向于使用 QGridLayout 或嵌套的 QHboxLayout 和 QVBoxLayout,这给你很大的灵活性。

b) 我通常将所有子小部件声明为类变量总是指针,并在主窗口构造函数中创建真实对象。

关于不要忘记任何控件,我建议打印 UI 文件的 XML 并在您在代码中重新创建的每个控件上画一条线。

【讨论】:

【参考方案2】:

作为一个好的起点,只需从 uic 为您生成的 ui_xxx.h 文件中复制粘贴 setupUi 方法即可。然后,您可以手动编辑设置代码以满足您的需要。

【讨论】:

以上是关于将应用程序的主窗口 GUI 布局更改为代码的主要内容,如果未能解决你的问题,请参考以下文章

如何抑制 Qt GUI 应用程序?

如何将一个 qApplication 的 GUI 嵌入到另一个 qApplication 的主窗口中?

QT gui 项目不会缩小到其父小部件的 ft

如何将应用程序的布局更改为 LandScape 以及如何使应用程序的布局适应移动设备和平板电脑

当我将GUI窗口大小增加到完全时,组件将返回到标准布局

GUI组件添加布局设置