Qt使用Ui文件和QUiLoader

时间:2013-10-02 23:29:29

标签: c++ qt qwidget qt-designer qtgui

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

link to example code

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

1 个答案:

答案 0 :(得分:0)

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

方式1

使用Qt Designer向中央窗口小部件添加垂直布局。你不能为没有孩子的小部件做到这一点,所以只需添加一个按钮,应用布局并删除该按钮。给你的布局一个好名字,例如“main_layout”。

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

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

到此:

ui->main_layout->addWidget(formWidget);

方式2

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

setCentralWidget(formWidget);

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