QT基础介绍

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 guiqt包含的模块
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets大于4版本以上,包含widgets模块
CONFIG+=c++11用c++11版本
DEFINES+=QT_DEPRECATED_WARNINGSqt弃用警告
SOURCES+=\main.cpp\mainwindow.cpp源文件
HEADERS+=\mainwindow.h头文件
FORMS+=\mainwindow.uiUI设计相关
TRANSLATIONS+=\base_zh_CN.ts翻译相关

mainwindow.h :
Q_OBJECT:宏,允许类中使用信号和槽的机制,不能删除

main.cpp:
程序入口函数

mainwindow.cpp:
是 Qt 框架带来的一个预定义好的主窗口类;

QT 的实际应用

QT生成xcode工程

cd到本地qmake,终端输入以下命令:
在这里插入图片描述
注意:如果改动代码或者其他需要,则需要重新qmake下。

QT里增加文件夹和三方库

.pro里增加对应名称文件夹;
.pro里增加对应的依赖的三方库和头文件,比如opencvlibvmafffmpeg
在这里插入图片描述
在这里插入图片描述

更新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缓存文件夹即可,直接删掉,然后重新运行项目即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互操作性(Interoperability)如何影响着机器学习的发展?

互操作性(Interoperability),也称为互用性,即两个系统之间有效沟通的能力,是机器学习未来发展中的关键因素。对于银行业、医疗和其他生活服务行业,我们期望那些用于信息交换的平台可以在我们需要时无缝沟通…

揭开 Vue3 响应式系统的神秘面纱:多种监听状态变量变化的方法大揭秘

在 Vue 3 中,响应式系统是其核心特性之一。通过响应式系统,Vue 可以自动跟踪组件的状态变化,并根据变化更新视图。这使得开发者能够更加高效地开发复杂的用户界面,同时保持代码的可读性和可维护性。在本文中,我们将深入…

mt5和mt4交易软件有什么区别?

MetaTrader 4(MT4)和MetaTrader 5(MT5)是两种广泛使用的外汇和金融市场交易平台,由MetaQuotes公司开发。尽管它们都是外汇交易的常见选择,但在功能和特性上存在一些区别。以下是MT4和MT5之间的主要区别&…

python三大开发框架django、 flask 和 fastapi 对比

本文讲述了什么启发了 FastAPI 的诞生,它与其他替代框架的对比,以及从中汲取的经验。 如果不是基于前人的成果,FastAPI 将不会存在。在 FastAPI 之前,前人已经创建了许多工具 。 几年来,我一直在避免创建新框架。首先&…

12.21 知识总结(def之序列化常用字段、常用参数、soruce用法、定制返回字段等)

一、 序列化类常用字段 字段字段构造方式BooleanFieldBooleanField()NullBooleanFieldNullBooleanField()CharFieldCharField(max_lengthNone, min_lengthNone, allow_blankFalse, trim_whitespaceTrue)EmailFieldEmailField(max_lengthNone, min_lengthNone, allow_blankFals…

Educational Codeforces Round 160 (Rated for Div. 2) A~C

目录 A. Rating Increase 题目分析: B. Swap and Delete 题目分析: C. Game with Multiset 题目分析: A. Rating Increase 题目分析: 因为首部不为零,故我们从第二个字符开始遍历,如果遇到第一个不为‘0’的字符&#xff0…

C#文件操作(一)

一、前言 学习心得:C# 入门经典第8版书中的第20章《文件》 二、操作文件的相关类 在C#应用程序中Syste.IO名称空间包含用于在文件中读写数据的类。在此我列举一下File、Directory、Path、FileInfo、DirectoryInfo、FileSystemInfo、FileSystemWatcher。其中在Syste…

《Spring Cloud Gateway 技术要点》

中文文档? Spring Cloud Gateway 中文文档 他是如何工作的? 它是如何工作的 路由谓词 12种路由谓词 Route Predicate(路由谓词)工厂 常见问题 1、深入解析spring cloud gateway】09 巨坑!GlobalFilter的执行顺序 2、Sprin…

Lettuce操作redis

Lettuce是一个高性能基于Java编写的Redis驱动框架,底层集成了Project Reactor提供天然的反应式编程,通信框架集成了Netty使用了非阻塞IO,5.x版本之后融合了JDK1.8的异步编程特性,在保证高性能的同时提供了十分丰富易用的API。本文…

伦敦金交易内地与香港有何区别

伦敦金交易是国际银行间市场层面的现货黄黄金交易,亚洲市场的交易中心在中国香港,现在不管是香港本地还是内地的投资者,都可以在网上开户,通过香港的平台参与伦敦金交易,所得到的服务是同等的、公平的、与国际市场接轨…

大规模数据查询:MySQL 与 Spring Boot 分页实战

引言 随着信息时代的到来,数据量的爆发性增长让分页查询成为数据库操作中的常见需求。数据库查询的效率直接影响着系统性能,因此在实际项目中,我们需要精心选择和使用分页查询方法。本文将深入研究在 MySQL 数据库中如何进行分页查询&#xf…

理论篇:什么是NPM以及为什么NPM如此重要

📌 NPM,全称是 Node Package Manager,NodeJS 包管理工具 当我们开始现代化前端项目开发时,总是会被告知需要提前安装NodeJS,而且NodeJS软件包不仅仅会在我们的开发设备上安装NodeJS运行环境,同时会附带NPM工…

2. 创建型模式 - 抽象工厂模式

亦称: Abstract Factory 意图 抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。 问题 假设你正在开发一款家具商店模拟器。 你的代码中包括一些类, 用于表示: 一系列相关产品&…

一套rk3588 rtsp服务器推流的 github 方案及记录 -03(完结)

opencv 解码记录 解码库使用的时候发现瑞芯微以前做过解码库对ffmpeg和gstreamer的支持 然后最近实在不想再调试Rtsp浪费时间了,就从这中间找了一个比较快的方案 ffmpeg 带硬解码库编译 编译流程参考文献 https://blog.csdn.net/T__zxt/article/details/12342435…

C++11特性:可调用对象以及包装器function的使用

在C中存在“可调用对象”这么一个概念。准确来说&#xff0c;可调用对象有如下几种定义&#xff1a; 是一个函数指针&#xff1a; int print(int a, double b) {cout << a << b << endl;return 0; } // 定义函数指针 int (*func)(int, double) &print…

LeetCode刷题--- 括号生成

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述递归递归、搜…

Nginx 实战闲谈第一讲:HTTP协议介绍

基本介绍 1.HTTP含义 HTTP 全称&#xff1a;Hyper Text Transfer Protocol 中文名&#xff1a;超文本传输协议 HTTP就是将用户的请求发送到服务器&#xff0c;将服务器请求到的内容传输回给浏览器&#xff0c;浏览器进行解析&#xff0c;解析后变成便于观看的页面。&#x…

Vue.js 学习总结(6)—— Css 之预处理器 Sass(Scss)、Less 的区别与选择

前言 Sass(Scss)、Less 都是 CSS 预处理器&#xff0c;他们定义了一种新的语言&#xff0c;其基本思想是&#xff0c;用一种专门的编程语言为 CSS 增加了一些编程的特性&#xff0c;将 CSS 作为目标生成文件&#xff0c;然后开发者就只要使用这种语言进行 CSS 的编码工作。 为…

vscode配置node.js调试环境

node.js基于VSCode的开发环境的搭建非常简单。 说明&#xff1a;本文的前置条件是已安装好node.js(具体安装不再赘述&#xff0c;如有需要可评论区留言)。 阅读本文可掌握&#xff1a; 方便地进行js单步调试&#xff1b;方便地查看内置的对象或属性&#xff1b; 安装插件 C…

java:获取线程的Id

JDK 19及以后版本&#xff0c;使用Thread的threadId()方法获取当前线程的Id&#xff08;identifier &#xff09;。这个Id是一个正的长整型&#xff0c;在线程创建的时候产生。这个Id是唯一的&#xff0c;并且在线程的生命周期期间保持不变。 JDK 19以前的版本&#xff0c;使用…