2

我正在使用 Qt 开发一个 c++ 应用程序。我想在我的代码中使用 Qt Designer ui 文件,因为它(在 XML 中)不编译代码并对其进行硬编码。我正在使用此 URL 中的示例代码。

链接到示例代码

该示例将 XML 应用于 QWidget,然后显示 QWidget。如何使用 QMainWindow 来实现这一点,记住我在 Qt Designer 中选择了主窗口表单,它已经添加了一个中央小部件?

4

1 回答 1

0

至少有两种方法可以做到这一点。

方式一

使用 Qt Designer 将垂直布局添加到中央小部件。对于没有子级的小部件,您不能这样做,因此只需添加一个按钮,应用布局并删除该按钮。给你的布局起一个好名字,例如“main_layout”。

从示例中复制构造函数实现并更改以下行:

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(formWidget);
setLayout(layout);

对此:

ui->main_layout->addWidget(formWidget);

方式二

您不需要使用主窗口的表单进行操作。只需从示例中复制构造函数实现并将有关布局的相同行更改为:

setCentralWidget(formWidget);

自动生成的中央小部件将完全替换为动态加载的表单。

于 2013-10-03T05:38:51.200 回答