Qt使用UI文件和QUiLoader

Qt Using a Ui file and QUiLoader

本文关键字:QUiLoader 文件 UI 使用 Qt      更新时间:2023-10-16

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

链接到示例代码

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

至少有两种

方法可以做到这一点。

方式 1

使用Qt Designer将垂直布局添加到中央控件。对于没有子项的小部件,您无法执行此操作,因此只需添加一个按钮,应用布局并删除该按钮即可。给你的布局起一个好名字,例如"main_layout"。

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

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

对此:

ui->main_layout->addWidget(formWidget);

方式 2

您无需使用主窗口的窗体进行操作。只需从示例中复制构造函数实现,并将有关布局的相同行更改为以下内容:

setCentralWidget(formWidget);

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