QT介绍
QT 是跨平台的c++开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(command user interface,CUI)程序。
Qt中文官网:
https://www.qt.io/cn
Qt开发者官网:
https://www.qt.io/developers
Qt版本下载:
https://www.qt.io/download
QT特点
QT图形用户界面:基于Widget的图形用户界面、基于QML的新图形用户界面。
QT经常被当作一个GUI库,但还有其他许多功能,多线程、访问数据库、图像处理、音视频处理、网络通信、文件操作等,QT都已经内置。
QT主要用于桌面程序开发和嵌入式开发。
信号与槽是QT的核心,就相当于MFC的消息传递和回调函数一样,但功能比MFC消息处理的机制和回调函数更强大。
QT案例
名称 | 介绍 |
---|---|
VirtualBox | 虚拟机软件 |
VLC | 一个体积小巧、功能强大的开源媒体播放器 |
yy语音 | 又名“歪歪语音”,是一个可以进行在线多人语音聊天和语音会议的免费软件 |
咪咕音乐 | 是中国移动倾力打造的正版音乐播放器 |
WPS Office | 金山公司Kingsoft出品的办公软件 |
Skype | 一个使用人数众多的机遇P2P的VOIP聊天软件 |
… | … |
Mac环境QT安装配置
安装
网址下载安装:
https://download.qt.io/
终端安装:
brew install qt/qt5
brew install qt-creator
brew link qt5 --force//
Qt-creator配置QT
打开qt-creator后,在preference里的qt version里手动添加 QT的里的qmake,(shift+command+g调出隐藏目录)。
在preference/kit中将gcc改成clang,并添加QT version。
QT工程目录
open-> base->base.pro:
字符 | 说明 |
---|---|
QT += core gui | qt包含的模块 |
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets | 大于4版本以上,包含widgets模块 |
CONFIG+=c++11 | 用c++11版本 |
DEFINES+=QT_DEPRECATED_WARNINGS | qt弃用警告 |
SOURCES+=\main.cpp\mainwindow.cpp | 源文件 |
HEADERS+=\mainwindow.h | 头文件 |
FORMS+=\mainwindow.ui | UI设计相关 |
TRANSLATIONS+=\base_zh_CN.ts | 翻译相关 |
mainwindow.h :
Q_OBJECT:宏,允许类中使用信号和槽的机制,不能删除
main.cpp:
程序入口函数
mainwindow.cpp:
是 Qt 框架带来的一个预定义好的主窗口类;
QT 的实际应用
QT生成xcode工程
cd
到本地qmake
,终端输入以下命令:
注意:
如果改动代码或者其他需要,则需要重新qmake
下。
QT里增加文件夹和三方库
在.pro
里增加对应名称文件夹;
在.pro
里增加对应的依赖的三方库和头文件,比如opencv
、libvmaf
、ffmpeg
。
更新xcode后QT项目报错
报错:
-1: error: No rule to make target `test2’. Stop. /Users/mac/Qt/5.15.0/clang_64/mkspecs/features/mac/sdk.mk:22: error: *** ^. Stop.
解决:
说白了就是因为你升级了Xcode,默认的SDK也变了,只需要清掉build缓存文件夹即可,直接删掉,然后重新运行项目即可。