朝阳区网站建设君和,wordpress简单用户积分,休闲零食网站建设+中企动力,襄阳作风建设年活动网站一、QT的基本概念 QT主要用于图形化界面的开发#xff0c; QT是基于C编写的一套界面相关的类库#xff0c;如进程线程库#xff0c;网络编程的库#xff0c;数据库操作的库#xff0c;文件操作的库等。 如何使用这个类库#xff1a;类库实例化对象(构造函数) -- 学习…一、QT的基本概念 QT主要用于图形化界面的开发 QT是基于C编写的一套界面相关的类库如进程线程库网络编程的库数据库操作的库文件操作的库等。 如何使用这个类库类库实例化对象(构造函数) -- 学习类库中方法(函数)的使用 -- 后台逻辑的实现。 QT是一个跨平台的GUI图形化界面开发工具。
QT的使用场合 汽车仪表盘 打印机 医疗器械 自动化的大型设备。
QT的优点 1.跨平台具有软为完备的图形开发库你所能想到的的图形的实现基本都有比window的MFC的库更强大。 2.接口的封装性好易上手学习QT框架对学习计算机图形框架有很重要的参考意义。 3.QT内部基本上有一套自己的简易好用的内存回收机制对提高C水平有帮助。 4.有很好的社区环境市场份额在缓慢上升。 5.轻量级的开发环境可以做嵌入式开发。
二、QT工具介绍 AssistantQT类库的帮助手册的工具。 Designer 用来设计图形化界面 对应的界面文件为***.ui ui文件中的内容是一种标记性的语言 uic.exe将***.ui文件转换为标准的C的代码 ui_***.h moc.exe元对象编辑器工具将QT中非标准的信号和槽转换为标准的C的代码 rcc.exe资源管理器将QT资源文件(图片,音频文件,视频文件)转换为标准的C代码 qmake工程管理的工具 QT工程文件的后缀为***.pro工程文件 qmake工具可以根据***.pro文件生成Makefile文件 通过Makefile文件编译C的代码。 QTcreaterQT集成开发环境工具(IDE) 将上边的所有的工具都集成到一起了。
三、QT工程介绍
3.1 工程管理文件 #工程引导文件工程管理文件
QT core gui
#需要加入的类库 core核心库 gui图形界面类库greaterThan(QT_MAJOR_VERSION, 4): QT widgets
#超过4版本后要自动加widgets类库前面的版本中widgets被合并在core类库中CONFIG c11
#支持C11以后的版本# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.0.0#源文件
SOURCES \main.cpp \ #包含主程序mainwindow.cpp #包含源文件
#头文件
HEADERS \mainwindow.h
#图形化界面文件
FORMS \mainwindow.ui# Default rules for deployment.
qnx: target.path /tmp/$${TARGET}/bin
else: unix:!android: target.path /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS target
3.2 头文件 #ifndef MAINWINDOW_H
#define MAINWINDOW_H
//防止文件重复包含
#includeQPushButton
#include QMainWindow
//引入头文件QMainWindowQT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; } //声明命名空间
QT_END_NAMESPACE//自定义的界面类公共继承自QMainWindow
class MainWindow : public QMainWindow
{Q_OBJECT //处理信号与槽的元组件public:MainWindow(QWidget *parent nullptr); //构造函数的声明~MainWindow(); //析构函数的声明private:QPushButton *btn1; //自定义的组件Ui::MainWindow *ui; //使用ui界面类定义出来的指针用于找到ui界面中拖拽出来的组件
};
#endif // MAINWINDOW_H
3.3 源文件 #include mainwindow.h //包含自定义的头文件
#include ui_mainwindow.h //包含ui界面生成的头文件MainWindow::MainWindow(QWidget *parent) //构造函数的定义: QMainWindow(parent) //调用父类有参构造, ui(new Ui::MainWindow) //给ui指针申请空间
{ui-setupUi(this); //调用ui界面函数给拖拽的组件申请空间并设置相关数据
}//析构函数的定义
MainWindow::~MainWindow()
{delete ui;
}
3.4 主测试文件 #include mainwindow.h //包含自定义的头文件#include QApplication //包含应用程序的头文件
#includeiostream
using namespace std;//主函数
int main(int argc, char *argv[])
{QApplication a(argc, argv); //使用应用程序实例化对象调用有参构造MainWindow w; //使用自定义类实例化一个对象调用无参构造w.show(); //调用show方法couthello worldendl;return a.exec(); //轮询等待 等待用户操作、等待事件处理、等待相关信号发射
}