我正在使用Qt开发一个c ++应用程序。我希望在我的代码中使用Qt Designer ui文件(在XML中)不编译代码并对其进行硬编码。我正在使用此URL中的示例代码。
该示例将XML应用于QWidget,然后显示QWidget。如何使用QMainWindow实现这一点,请记住我在Qt Designer中选择了主窗口窗体,它已经添加了一个中心窗口小部件?
答案 0 :(得分:0)
至少有两种方法可以做到这一点。
使用Qt Designer向中央窗口小部件添加垂直布局。你不能为没有孩子的小部件做到这一点,所以只需添加一个按钮,应用布局并删除该按钮。给你的布局一个好名字,例如“main_layout”。
从示例中复制构造函数实现并更改以下行:
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(formWidget);
setLayout(layout);
到此:
ui->main_layout->addWidget(formWidget);
您无需使用主窗口的表单进行操作。只需从示例中复制构造函数实现,并将有关布局的相同行更改为:
setCentralWidget(formWidget);
自动生成的中央窗口小部件将完全替换为动态加载的窗体。