最近因为工作的关系,我开始学QT了,所以之后可能Qt和C++的文章会比较多
QT下载
安装的时候会需要输入邮箱去验证
新建项目
完成后的图片:
你们回想,只有一个.pro
文件啊,像教程一样的那些文件怎么添加?
这么添加:
启动默认项目
之后就可以点击图上的运行,就可以启动项目了
分析学习文件
以我才疏学浅的知识,来看看这个项目,觉得不是很好,大家可以掠过自己看
main.cpp
#include "mainwindow.h" //引入mainwindow中的api
#include <QApplication> //Qt引用的基础api
int main(int argc, char *argv[])//主函数
{
QApplication a(argc, argv); //应用程序,有且仅有一个
MainWindow w; //实例化窗口对象
w.show();//显示窗口
return a.exec(); //让程序对象进入消息循环机制中,代码阻塞到当前行
}
mainwindow.cpp
#include "mainwindow.h" //有mainwindow中的类或者主要api
#include "ui_mainwindow.h"//ui界面的设计api
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow) //没怎么学过c++类和继承的我这个地方的理解是不管继没继承,这里new了一个实例为ui
{
ui->setupUi(this); //ui指针指向的是setupUi函数
}
MainWindow::~MainWindow()
{
delete ui; //删除ui实例
}
关于setupUi()这个API,在
ui_mainwindow.h
中被定义
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty()) //如果mainwindow的名字为空
MainWindow->setObjectName(QStringLiteral("MainWindow"));//就创建一个名字叫MainWindow
MainWindow->resize(400, 300); //文件的大小(长宽)是写着的400(横)和300(纵)
menuBar = new QMenuBar(MainWindow); //创建一个菜单栏
menuBar->setObjectName(QStringLiteral("menuBar"));//设置名称
MainWindow->setMenuBar(menuBar);//写入
mainToolBar = new QToolBar(MainWindow);//这里开始以下的格式可以参考上面的理解
mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
MainWindow->addToolBar(mainToolBar);
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
MainWindow->setCentralWidget(centralWidget);
statusBar = new QStatusBar(MainWindow);
statusBar->setObjectName(QStringLiteral("statusBar"));
MainWindow->setStatusBar(statusBar);
retranslateUi(MainWindow);//返回ui
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
关于.pro
QT += core gui #Qt包含的模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #大于4版本以上 包含widgets模块
TARGET = test_test #目标,生产exe文件的名称
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \ #源文件(\代表是换行)
main.cpp \
mainwindow.cpp
HEADERS += \ #头文件
mainwindow.h
FORMS += \ #ui文件
mainwindow.ui
到时候在这个项目的同一级文件夹中会出现
build-项目名-Desktop_Qt_5_10_1_MinGW_32bit-Debug
的文件,里面的debug文件夹中就有一个TARGET 上写的文件的.exe
文件