1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Qt】使用Qt designer(Qt设计师)以及uic工具将ui文件转换到C++代码进行界面开发

【Qt】使用Qt designer(Qt设计师)以及uic工具将ui文件转换到C++代码进行界面开发

时间:2022-01-18 22:29:26

相关推荐

【Qt】使用Qt designer(Qt设计师)以及uic工具将ui文件转换到C++代码进行界面开发

系列文章目录

【Qt】编写第一个Qt程序,使用Cmake编译并运行

Qt Designer是一个用于创建Qt应用程序用户界面的图形化界面设计器。它是Python GUI开发的一个重要工具,可以帮助用户快速创建具有丰富功能的用户界面。

打开终端输入以下代码

designer

点击创建

拖一些组件进来,点击保存

得到一个后缀为ui的文件

使用design 文件名.ui可以重新打开

uic工具

uic是Qt的用户界面文件(.ui)到C++代码(.h/.cpp)的转换工具。它可以将使用Qt Designer创建的UI文件转换成可在C++代码中使用的类。

使用uic工具,你可以将UI文件转换成C++类,然后在你的应用程序中使用这些类来创建、显示和管理用户界面。

代码如下

uic untitled.ui -o hello.h

自动生成的hello.h

/********************************************************************************** Form generated from reading UI file 'untitled.ui'**** Created by: Qt User Interface Compiler version 5.9.5**** WARNING! All changes made in this file will be lost when recompiling UI file!********************************************************************************/#ifndef HELLO_H#define HELLO_H#include <QtCore/QVariant>#include <QtWidgets/QAction>#include <QtWidgets/QApplication>#include <QtWidgets/QButtonGroup>#include <QtWidgets/QDialog>#include <QtWidgets/QHeaderView>#include <QtWidgets/QLabel>QT_BEGIN_NAMESPACEclass Ui_Dialog{public:QLabel *label;void setupUi(QDialog *Dialog){if (Dialog->objectName().isEmpty())Dialog->setObjectName(QStringLiteral("Dialog"));Dialog->resize(400, 300);label = new QLabel(Dialog);label->setObjectName(QStringLiteral("label"));label->setGeometry(QRect(110, 130, 67, 17));retranslateUi(Dialog);QMetaObject::connectSlotsByName(Dialog);} // setupUivoid retranslateUi(QDialog *Dialog){Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));label->setText(QApplication::translate("Dialog", "Hello Qt!", Q_NULLPTR));} // retranslateUi};namespace Ui {class Dialog: public Ui_Dialog {};} // namespace UiQT_END_NAMESPACE#endif // HELLO_H

可以看到setupUi传入一个QDialog *就能启动界面

修改原来的hello.cpp

#include "hello.h"int main(int argc, char** argv){QApplication app(argc,argv) ;Ui_Dialog ui_dialog;QDialog dialog;ui_dialog.setupUi(&dialog); dialog.show(); return app.exec() ;}

运行成功

Qt designer官网https://doc.qt.io/qt-5/qtdesigner-manual.html

使用uic工具可以方便地将Qt Designer中设计的UI文件转换成可在C++代码中使用的类,这样可以大大简化UI开发的过程。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。