C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类

1.新建空Qt工程

2.新建C++类HelloQt

3.新建ui文件,添加部件,重命名主窗体(对话框)类名HelloQt,构建生成ui头文件

4.修改头文件helloqt.h


 1 #ifndef HELLOQT_H
2 #define HELLOQT_H
3
4 #include <QDialog>
5
6 namespace Ui{
7 class HelloQt;
8 }
9 class HelloQt : public QDialog
10 {
11 Q_OBJECT
12 public:
13 explicit HelloQt(QWidget *parent = 0);
14
15 signals:
16
17 public slots:
18
19 private:
20 Ui::HelloQt *ui;
21 };
22
23 #endif // HELLOQT_H

给HelloQt类新增Ui::HelloQt(头文件ui_helloqt中的Ui::HelloQt)的指针变量*ui,使得类可以在执行构造函数的时候,调用ui头文件中的setUi方法生成界面

5.修改helloqt.cpp,实现helloqt.h头文件中HelloQt的构造函数


1 #include "helloqt.h"
2 #include "ui_helloqt.h"
3 HelloQt::HelloQt(QWidget *parent) :
4 QDialog(parent)
5 {
6 ui = new Ui::HelloQt();
7 ui->setupUi(this);
8 }

或者


1 #include "helloqt.h"
2 #include "ui_helloqt.h"
3 HelloQt::HelloQt(QWidget *parent) :
4 QDialog(parent),
5 ui(new Ui::HelloQt)
6 {
7 ui->setupUi(this);
8 }

C++ new的时候居然可以不带括号!!

6.新建main.cpp,直接调用定义好的C++类生成图像界面


 1 #include <QApplication>
2 #include "helloqt.h"
3 int main(int argc, char * argv[])
4 {
5 QApplication app(argc, argv);
6 HelloQt dlg;
7 dlg.setWindowTitle(QObject::trUtf8("白季飞龙"));
8 dlg.show();
9 return app.exec();
10 }

C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类

时间: 2024-10-08 20:50:22

C/C++ -- Gui编程 -- Qt库的使用 -- 使用自定义类的相关文章

C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件

1.创建Qt空工程 2.添加Qt设计师界面,无按钮对话框helloqt.ui 3.编辑界面,添加部件,修改对话框对象名为HelloQt 1 <?xml version="1.0" encoding="UTF-8"?> 2 <ui version="4.0"> 3 <class>HelloQt</class> 4 <widget class="QDialog" name=&q

C/C++ -- Gui编程 -- Qt库的使用 -- HelloWorld

1.纯代码写对话框HelloWorld 创建空Qt工程,添加C++源文件main.cpp 需要设置编码以支持中文 -----源代码main.cpp----- 1 #include <QApplication> 2 #include <QDialog> 3 #include <QLabel> 4 #include <QtextCodec> 5 6 int main(int argc, char * argv[]) 7 { 8 QApplication app(

C/C++ -- Gui编程 -- Qt库的使用 -- 标准对话框

-----mywidget.cpp----- 1 #include "mywidget.h" 2 #include "ui_mywidget.h" 3 #include <QFileDialog> 4 #include <QColorDialog> 5 #include <QFontDialog> 6 #include <QInputDialog> 7 #include <QMessageBox> 8 #i

C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽 -- 欢迎界面

程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- 1 #include "mywidget.h" 2 #include "mydialog.h" 3 #include <QApplication> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidget只能调用构造函数中添加的组件 Ui::MyWidget只能调用UI文件中的子部件 Ui::MyWidget不是Wiget类,只是一个普通类,不能拿他做父窗体 测试:1.新建GUI工程,主类MyWidget,UI上拖放一个Frame 以后都用Qt5了,省得汉字转码 2.-----mywidget.

C/C++ -- Gui编程 -- Qt库的使用 -- QtWidget

1 #include<QtGui> 2 int main(int argc, char * argv[]) 3 { 4 QApplication app(argc, argv); 5 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); 6 QWidget wgt; 7 wgt.setWindowTitle(QString::QString("我也有依靠")); 8 wgt

C/C++ -- Gui编程 -- Qt库的使用 -- 对话框QDialog

模态对话框 -----源文件main.cpp(工程QtDialog)----- 1 #include "qtdialog.h" 2 #include <QApplication> 3 #include <QTextCodec> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication app(argc, argv); 8 QTextCodec::setCodecForCStrings(QTextCodec::

C/C++ -- Gui编程 -- Qt库的使用 -- Qt编码问题

1.直接使用QObject::trUtf8("中文字符串") 2.头文件<QTextCodec>QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));QObject::tr("中文字符串") 3.头文件<QTextCodec>QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf

C/C++ -- Gui编程 -- Qt库的使用 -- 组件大杂烩