通过工程创建向导,我们创建一个简单的工程,包含一个ui文本。
我们创建一个helloworld 的文件,包含一个helloworld.ui文件
这是工具自动生成出来的,创建出来的时候ui_helloworld.h还没有生成,需要运行的时候它会根据helloworld.ui生成出来。
我们可以查看这个文件:
class Ui_HelloWorld
{
public:
QMenuBar *menuBar;
QToolBar *mainToolBar;
QWidget *centralWidget;
QStatusBar *statusBar;
void setupUi(QMainWindow *HelloWorld)
{
if (HelloWorld->objectName().isEmpty())
HelloWorld->setObjectName(QStringLiteral("HelloWorld"));
HelloWorld->resize(400, 300);
menuBar = new QMenuBar(HelloWorld);
menuBar->setObjectName(QStringLiteral("menuBar"));
HelloWorld->setMenuBar(menuBar);
mainToolBar = new QToolBar(HelloWorld);
mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
HelloWorld->addToolBar(mainToolBar);
centralWidget = new QWidget(HelloWorld);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
HelloWorld->setCentralWidget(centralWidget);
statusBar = new QStatusBar(HelloWorld);
statusBar->setObjectName(QStringLiteral("statusBar"));
HelloWorld->setStatusBar(statusBar);
retranslateUi(HelloWorld);
QMetaObject::connectSlotsByName(HelloWorld);
} // setupUi
void retranslateUi(QMainWindow *HelloWorld)
{
HelloWorld->setWindowTitle(QApplication::translate("HelloWorld", "HelloWorld", nullptr));
} // retranslateUi
};
namespace Ui {
class HelloWorld: public Ui_HelloWorld {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_HELLOWORLD_H
根据这个文件可以看出 ui(new Ui::HelloWorld)就是创建这个窗口对象,用setupUi方法把里面的各个元件加在倒自己的widget 上面。