1.新建空Qt工程

2.新建C++类HelloQt

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

4.修改头文件helloqt.h

 #ifndef HELLOQT_H
 #define HELLOQT_H

 #include <QDialog>

 namespace Ui{
     class HelloQt;
 }
 class HelloQt : public QDialog
 {
     Q_OBJECT
 public:
     );

 signals:

 public slots:

 private:
     Ui::HelloQt *ui;
 };

 #endif // HELLOQT_H

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

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

 #include "helloqt.h"
 #include "ui_helloqt.h"
 HelloQt::HelloQt(QWidget *parent) :
     QDialog(parent)
 {
     ui = new Ui::HelloQt();
     ui->setupUi(this);
 }

或者

 #include "helloqt.h"
 #include "ui_helloqt.h"
 HelloQt::HelloQt(QWidget *parent) :
     QDialog(parent),
     ui(new Ui::HelloQt)
 {
     ui->setupUi(this);
 }

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

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

 #include <QApplication>
 #include "helloqt.h"
 int main(int argc, char * argv[])
 {
     QApplication app(argc, argv);
     HelloQt dlg;
     dlg.setWindowTitle(QObject::trUtf8("白季飞龙"));
     dlg.show();
     return app.exec();
 }

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

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

    MyWidget做父窗体 MyWidget的构造函数中可以手动添加组件 Ui::MyWidget存放子部件 Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体 MyWidg ...

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

    -----mywidget.cpp----- #include "mywidget.h" #include "ui_mywidget.h" #include & ...

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

    程序运行先显示一个对话框,确定进入主程序 1.新建Qt工程,类MyWidget,基类QWidget 2.新建设计师界面类MyDialog,基类QDialog 3.-----main.cpp----- ...

  4. C/C++ -- Gui编程 -- Qt库的使用 -- 信号与槽的关联

    Qt信号与槽的三种关联方法:1.设计界面关联,编辑信号/槽,自动关联 2.手动关联(1).头文件中定义槽 -----mywidget.h----- #ifndef MYWIDGET_H #define ...

  5. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结

    主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...

  6. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5试用

    1.头文件<QtGui>变成了<QtWidgets> 相应<QtGui/***>变成了<QtWidgets/***> 2.QTextCodec::set ...

  7. C/C++ -- Gui编程 -- Qt库的使用 -- 使用小写qDebug调试程序

    qDebug作为printf不需要头文件 qDebug()作为cout要使用头文件<QDebug> -----debug.cpp----- -----debug.cpp----- #inc ...

  8. C/C++ -- Gui编程 -- Qt库的使用 -- Qt窗体的类型状态布局

    -----工程WindowTest----- 1.-----窗体类型type.cpp----- #include <QtGui> int main(int argc, char * arg ...

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

    1.创建Qt空工程 2.添加Qt设计师界面,无按钮对话框helloqt.ui 3.编辑界面,添加部件,修改对话框对象名为HelloQt <?xml version="1.0" ...

随机推荐

  1. 整数重复的第n位计算公式

    513不停的重复形成513513513....,求第n位是几的计算公式.

  2. OpenGl 绘制一个立方体

    OpenGl 绘制一个立方体 为了绘制六个正方形,我们为每个正方形指定四个顶点,最终我们需要指定6*4=24个顶点.但是我们知道,一个立方体其实总共只有八个顶点,要指定24次,就意味着每个顶点其实重复 ...

  3. ALIZE初涉

    ALIZE初涉 在做GMM-UBM和i-vector时都用到了ALIZE,不得不说十分良心,在linux下很方便,但同时也有一些问题,流程总结如下 安装 在http://alize.univ-avig ...

  4. 论文笔记(4)-Deep Boltzmann Machines

    Deep Boltzmann Machines是hinton的学生写的,是在RBM基础上新提出的模型,首先看一下RBM与BM的区别 很明显可以看出BM是在隐含层各个节点以及输入层各个节点都是相互关联的 ...

  5. Toad 实现 SQL 优化

    It is very easy for us to implement sql tuning by toad.  We need to do is just give complex sql stat ...

  6. ADO.NET系列之DataAdapter对象

    ADO.NET系列之Connection对象 ADO.NET系列之Command对象 ADO.NET系列之DataAdapter对象 ADO.NET系列之事务和调用存储过程 我们前两篇文章介绍了ADO ...

  7. 基于jTopo的拓扑图设计工具库ujtopo

    绘制拓扑图有很多开源的工具,知乎上也有人回答了这个问题: https://www.zhihu.com/question/41026400/answer/118726253 ujtopo是基于jTopo ...

  8. NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json

    一.简介 1.读取配置文件是开发过程中使用非常频繁的操作.属称”不能写死“ 二.NetCore读取配置文件 1.新建一个静态公共变量,属称单例. 2.在程序Startup启动时,将系统变量传递给单例. ...

  9. poj 3250 Bad Hair Day(栈的运用)

    http://poj.org/problem?id=3250 Bad Hair Day Time Limit: 2000MS   Memory Limit: 65536K Total Submissi ...

  10. 编程哲学之C#篇:02——学习思维

    <代码大全>的第二章:介绍隐喻(类比)的思维方式, <经济学原理>的第二章:介绍怎么像经济学家一样思考, <计算机的心智操作系统之哲学原理>的第一章:介绍学习操作系 ...