01--Qt与启动
一点点了解
qt:通俗来说是开发工具包
qtCreator:集成的编译器,将源代码变成可执行程序(可以当成qt桌面环境)
创建工程需要注意
-
项目名称不要有特殊符号和中文
-
项目工程保存路径可修改,路径不要带中文-
-
创建类的基类有三种:带菜单栏窗口,空白窗口,对话框窗口
-
创建类的类名首字母大写(否则报错)
-
首次创建项目ui不使用。
了解生成的几个文件
-
.pro:工程文件,是qmake自动生成用于生产makfile的配置文件
QT += core gui//包含的模块,以后可以添加网络模块等 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets//大于qt4才包含此模块 TARGET = 01_demo//应用程序名,生成的exe程序名称 TEMPLATE = app//模板类型 DEFINES += QT_DEPRECATED_WARNINGS//定义编译选项,如果qt某些功能过时会发出警告 SOURCES += \ main.cpp \ widget.cpp HEADERS += \ widget.h FORMS += \ widget.ui
-
main.cpp
#include "widget.h"//qt中一个类对应一个头文件,类名就是头文件名 #include <QApplication>//qt系统提供的标准类名声明头文件 int main(int argc, char *argv[]) { QApplication a(argc, argv);//应用程序类(整个后台管理的命脉。处理应用程序的初始化和结束;给所有事件处理调度) Widget w;//实例化对象,调用构造函数 w.show();//调用显示函数,显示图形界面 return a.exec();//主事件循环,在exec函数中,qt接受并处理用户和系统的事件,并且将他们传递给适当的窗口控件 }
-
widget.cpp
#include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; }
-
widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; }; #endif // WIDGET_H
-
总结一下:
- .pro相当于一个配置文件,用于指定编译和链接规则,以生成可执行文件或库文件。
- main.cpp是整个程序的入口点,通常会包含一些初始化代码,例如创建应用程序对象、创建窗口、设置窗口属性等
- widget.h和widget.cpp文件通常用于实现应用程序的主窗口widget.h文件是窗口类的头文件,它定义了窗口类的成员变量和成员函数,并且声明了一些与界面相关的函数,例如响应用户操作的槽函数。widget.cpp文件是窗口类的实现文件,它包含了窗口类的所有成员函数的实现。widget.cpp文件通常会包含一些QT的UI组件(如按钮、标签等)和信号槽机制的相关代码,用于实现用户界面和用户交互。
确定代码书写位置
- .pro:用于生成可执行文件
- main.cpp:主函数
- widget.cpp(自己创建的类):类的函数
- 一般情况,窗口的属性和添加控件和对控件的操作都会在类的构造函数中书写。
- 优点:可以使得main.cpp/主函数中无多与代码,程序阅读也方便。
- widget.h:类和头文件