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

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

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

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

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

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…

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

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

理论篇:什么是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…

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;使用…

Unity中Shader平移矩阵

文章目录 前言方式一&#xff1a;对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中&#xff0c;在进行其他坐标转化之前&#xff0c;对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

Java:将字符串重复多次串接起来输出

String的函数public String repeat(int count)&#xff0c;可以将当前字符串重复count次串接起来输出。 如果字符串是空的&#xff0c;或者count的值是0&#xff0c;那么返回空字符串。 代码示例1&#xff1a; package com.thb;public class Test5 {public static void main(…

CVE-2022-22978 Spring Security越权访问漏洞

简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。 Spring Security底层实现为一条过滤器链&#xff0c;就是用户请求进来&#xff0c;判断有没有请求的权限&#xff0c;抛出异常&#xff0c;重定向跳转。 影响版本 S…

【教程】cocos2dx资源加密混淆方案详解

1,加密,采用blowfish或其他 2,自定是32个字符的混淆code 3,对文件做blowfish加密,入口文件加密前将混淆code按约定格式(自定义的文件头或文件尾部)写入到文件 4,遍历资源目录,对每个文件做md5混淆,混淆原始串“相对路径”“文件名”混淆code, 文件改名并且移动到资源目录根…

C#线程的定义和使用方法

引言 在C#编程语言中&#xff0c;线程是一种并发执行的机制&#xff0c;允许程序同时执行多个任务。线程的使用使得我们能够利用计算机的多核处理器&#xff0c;实现程序的并行执行&#xff0c;提高系统的性能和响应能力。本文将详细介绍C#中线程的定义和使用方法&#xff0c;涵…

大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透&#xff0c;实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…