Forms Qt-不带类的显示设计器窗体

Forms Qt-不带类的显示设计器窗体,forms,qt,designer,Forms,Qt,Designer,在Qt中,我创建了一个没有类的设计器窗体。基本上,我只有一个文件myform.ui。我应该编写什么代码来显示表单?您可以使用加载ui文件。如果您在表单部分的.pro中包含(d)ui文件,则在生成过程中将生成一个特殊的头文件。包括此头文件,并使用它在运行时将子小部件添加到您想要的任何QWidget中 本例中的ui文件称为mywidget.ui。在.pro文件中,有一行代码 FORMS += mywidget.ui QtCreator将在项目资源管理器中显示该文件。这一步很重要,因为否则在构建项目

在Qt中,我创建了一个没有类的设计器窗体。基本上,我只有一个文件myform.ui。我应该编写什么代码来显示表单?

您可以使用加载ui文件。

如果您在
表单
部分的.pro中包含(d)ui文件,则在生成过程中将生成一个特殊的头文件。包括此头文件,并使用它在运行时将子小部件添加到您想要的任何QWidget中

本例中的ui文件称为mywidget.ui。在.pro文件中,有一行代码

FORMS += mywidget.ui
QtCreator将在项目资源管理器中显示该文件。这一步很重要,因为否则在构建项目时不会生成头文件

然后,生成的头文件被称为ui\u mywidget.h,构成所设计窗口的类被称为
ui::mywidget
,可以按如下方式使用

解决方案1(QtCreator在创建新的“Qt设计器表单类”时建议的方式):

然后,此小部件就可以使用了,并且在实例化时将包含您在设计器中创建的子小部件:

MyWidget widget;
widget.show();
解决方案2(不从QWidget继承):


解释了使用ui文件的正式方式

如您所见,您有两个选项:“在编译时处理ui文件”或“在运行时”


关于编译时处理,还有三个子案例:“直接方法”(创建新的“Qt设计器表单类”时采用的经典方法)和“单继承”/“多继承方法”。在上述文章中,您将找到所有详细信息。

要显示.ui文件,请在设计模式下转到:工具>表单编辑器>预览(Alt+Shift+R)。您还可以向表单中添加一些小部件,然后再次显示它。但这只是一个预览!
#include "ui_mywidget.h"
MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);    // Create and add the child widgets to this widget
}

MyWidget::~MyWidget()
{
    delete ui;
}
MyWidget widget;
widget.show();
#include "ui_mywidget.h"
...
QWidget *widget = new QWidget(...);
Ui::MyWidget ui;         // Instance of the UI class where the child widgets are
ui.setupUi(widget);      // Create and add the child widgets to this widget
widget->show();
...