网站建设的两个方面,江西省住房和城乡建设部网站,网站做视频链接,无锡网站建设策划方案目录
ui类生成过程#xff1a;
提问#xff1a; 等以后自己熟练了用代码写这些样式内容#xff0c;尽量用代码写#xff0c;原因很简单#xff1a;
用代码写的可以直接修改代码#xff0c;但是在设计界面修改的东西#xff0c;电脑没有QC这玩意#xff0c;还真不好改…目录
ui类生成过程
提问 等以后自己熟练了用代码写这些样式内容尽量用代码写原因很简单
用代码写的可以直接修改代码但是在设计界面修改的东西电脑没有QC这玩意还真不好改。就算会XML语法也还要顾及构建的问题。 ui类生成过程
在创建项目的时候可以选择是否生成.ui文件一般勾选生成。
找到相应的类的实现模块 Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);ui-pushButton_no-setText(hao);
}Widget::~Widget()
{delete ui;
}
其实可以看到.ui文件在这里就作为了一个初始化列表项的存在。
既然能够new那么就是一个类。
QC在创建项目后的初步构建就会形成build文件夹在这个文件夹里就能找到对应的ui的.h文件。 在QC中打开 /********************************************************************************
** Form generated from reading UI file widget.ui
**
** Created by: Qt User Interface Compiler version 5.15.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/#ifndef UI_WIDGET_H
#define UI_WIDGET_H#include QtCore/QVariant
#include QtWidgets/QApplication
#include QtWidgets/QPushButton
#include QtWidgets/QWidgetQT_BEGIN_NAMESPACEclass Ui_Widget
{
public:QPushButton *pushButton_yes;QPushButton *pushButton_no;void setupUi(QWidget *Widget){if (Widget-objectName().isEmpty())Widget-setObjectName(QString::fromUtf8(Widget));Widget-resize(800, 600);pushButton_yes new QPushButton(Widget);pushButton_yes-setObjectName(QString::fromUtf8(pushButton_yes));pushButton_yes-setGeometry(QRect(110, 140, 75, 23));pushButton_no new QPushButton(Widget);pushButton_no-setObjectName(QString::fromUtf8(pushButton_no));pushButton_no-setGeometry(QRect(210, 140, 75, 23));retranslateUi(Widget);QMetaObject::connectSlotsByName(Widget);} // setupUivoid retranslateUi(QWidget *Widget){Widget-setWindowTitle(QCoreApplication::translate(Widget, Widget, nullptr));pushButton_yes-setText(QCoreApplication::translate(Widget, yes, nullptr));pushButton_no-setText(QCoreApplication::translate(Widget, no, nullptr));} // retranslateUi};namespace Ui {class Widget: public Ui_Widget {};
} // namespace UiQT_END_NAMESPACE#endif // UI_WIDGET_H提问
Qtxml 文件什么时候转化为一个 UI 类的
qmake生成了 debug release 文件夹 Makefile,Makefile.debug, Makefile.release等但是没有生成ui_XXX类。
执行make/build 的时候生成了 ui_xxx类! 这个时候我们的 Qt 在成员初始化列表里面才能 new ui.然后执行ui-setupUi().