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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux磁盘空间不足扩展

先在虚拟机Vmware上扩展磁盘空间 后将fdisk 进行分区之后,在/dev/中找不到新分区文件 3.创建物理卷pv时发现找不到/dev/sda3分区,通过ls查看确认在/dev/中没有找到新分区文件 4.解决方法 执行:partprobe 再查看/dev中是否可以看到新分区文件…

python爬虫小案例:获取B*站视频数据

嗨喽,大家好呀~这里是爱看美女的茜茜呐 第三方模块: requests >>> pip install requests 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车 在pycharm中点击Terminal(终端) 输入安装…

XM平台官网开户注册流程图解

注册前准备 在进行XM外汇官网注册之前,首先需要准备必要的信息,包括个人身份信息、联系方式以及相关财务信息。确保这些信息的准确性是保证注册流程顺利进行的关键。 一、要访问XM外汇官方网站,首先打开您的浏览器。在浏览器的地址栏中输入…

fill-in-the-middle(FIM) 实现与简单应用

1 背景 传统训练的 GPT 模型只能根据前文内容预测后文内容,但有些应用比如代码生成器,需要我们给出上文和下文,使模型可以预测中间的内容,传统训练的 GPT 就不能完成这类任务。 传统训练的 GPT 只能根据上文预测下文 使用 FIM…

Pytest小技巧:高效获取自动化测试结果

自动化测试用例在执行完成后,我们想要很清楚的查看到测试用例的执行结果,我们可以通过Pytest中的Hooks来进行获取吗? 其中Pytest中存在多个Hooks的函数,小编今天先简单介绍其中一种,通过pytest_runtest_makereport 获…

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现…

unity2d 关闭全局重力

UNITY2D项目默认存在Y轴方向重力,创建俯视角2D场景时可通过以下配置关闭 Edit > Project Settings > Physics 2D > General Settings > Gravity 设置Y0

vue3引入高德地图报错Uncaught Error: Invalid Object: LngLat(NaN, NaN

问题&#xff1a; 原因&#xff1a;容器高度未设置 解决&#xff1a; 地图容器添加高度。 <style scoped> #map {width: 100%;height: 800px; } </style>

本地配置Java支付宝沙箱环境模拟支付并内网穿透远程调试

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候&#xff0c;往往沙箱环境部署在本地&#xff0c;局限性大&#xff0c;在沙箱环境…

MySQL是如何保证数据不丢失的?

文章目录 前言Buffer Pool 和 DML 的关系DML操作流程加载数据页更新记录 数据持久化方案合适的时机刷盘双写机制日志先行机制日志刷盘机制Redo Log 恢复数据 总结 前言 上篇文章《InnoDB在SQL查询中的关键功能和优化策略》对InnoDB的查询操作和优化事项进行了说明。但是&#…

如何实现免费无限流量云同步笔记软件Obsidian?

目录 前言 如何实现免费无限流量云同步笔记软件Obsidian&#xff1f; 一、简介 软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群晖Synol…

嵌入式系统复习--ARM指令集(一)

文章目录 上一篇ARM指令集概述ARM寻址方式下一篇 上一篇 嵌入式系统复习–ARM技术概述 ARM指令集概述 ARM指令集是32位的&#xff0c;程序的启动都是从ARM指令集开始。 指令编码 第一操作数 第二操作数 目的操作数 条件影响标志位 不同功能实现的二进制位 指令编码 第…

模型实战(17)之C++ - tensorRT部署yolov8seg实例分割

模型实战(17)之C++ - tensorRT部署yolov8seg实例分割 yolov8是2023年以来最新的集检测、分割、分类、关键点于一身的模型参考官网文档:添加链接描述本文将详细给出C++ - tensorRT部署yolov8seg模型的详细步骤实现效果的话,精度和python环境下差不多,仅推理时间在RTX30~系列…

怎么选,都得是python!

什么编程语言最好&#xff1f; python!python!python! 天下语言千千万&#xff0c;不行咱就换&#xff01; 但是&#xff0c;兜兜转转&#xff0c;到头来发现还得是你——python 最香! 有一说一&#xff0c;为了早日实现财富自由&#xff0c;开篇建议&#xff1a;专业人士还…

IspSrver-DNS

2023年全国网络系统管理赛项真题 模块B-Windows解析 题目 安装DNS服务器,根据题目创建必要正向区域和反向区域的DNS解析。把当前机器作为互联网根域服务器,创建test1.com~test100.com,并在所有正向区域中创建一条A记录,解析到本机地址。配置步骤 安装DNS服务器,根据题目创…

【Linux】Linux线程概念和线程控制

文章目录 一、Linux线程概念1.什么是线程2.线程的优缺点3.线程异常4.线程用途5.Linux进程VS线程 二、线程控制1.线程创建2.线程终止3.线程等待4.线程分离 一、Linux线程概念 1.什么是线程 线程是进程内的一个执行流。 我们知道&#xff0c;一个进程会有对应的PCB&#xff0c;…

大连海事大学博士学位论文在知网论文提交过程中遇到“去掉辅助和文摘中的多余信息“的解决方案

1. 问题描述 遇到的问题长这样。 辅助指的是中文摘要&#xff1b;文摘指的是英文摘要。 问题说明&#xff0c;每次保存完&#xff0c;都会出现两个多余的空行&#xff1b;你删除了&#xff0c;保存再打开&#xff0c;又出现了两个空行。 2 问题原因 2.1 粘贴摘要操作 如果…

Qt中多线程使用案列

Qt中多线程下载大文件 #pragma once#include <QWidget> #include <QPushButton> #include "ThreadPool.h" #include <QProgressBar> #include <QLabel> #include <QHBoxLayout> #include <QVBoxLayout> class MainWindow : pub…

nginx 离线安装 https反向代理

这里写自定义目录标题 安装步骤1.安装nginx所需依赖1.1 安装gcc和gcc-c1.1.1下载依赖包1.1.2 上传依赖包1.1.3安装依赖 1.2 安装pcre1.2.1 下载pcre1.2.2 上传解压安装包1.2.3 编译安装 1.3 下载安装zlib1.3.1 下载zlib1.3.2 上传解压安装包1.3.3 编译安装 1.4 下载安装openssl…

【K8s】3# 使用kuboard管理K8s集群(NFS存储安装)

文章目录 1.NFS是什么2.配置NFS服务器2.1.执行以下命令安装 nfs 服务器所需的软件包2.2.执行命令 vim /etc/exports&#xff0c;创建 exports 文件&#xff0c;文件内容如下2.3.执行以下命令&#xff0c;启动 nfs 服务2.4.检查配置是否生效 3.在客户端测试NFS3.1.执行以下命令安…