![](https://img-blog.csdnimg.cn/20210303165658561.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Qt应用程序开发
文章平均质量分 74
Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。
呆萌宝儿姐
CSDN专家博主、阿里云开发者社区专家博主、51CTO社区专家博主、360书馆认证博主、知乎掘金B站等平台受邀作者。
如遇开发、程序等需求,博客首页下拉加入公众号,私信博主
展开
-
Qt 5——信号和槽机制
文章目录1.概念2.系统自带的信号和槽3. 自定义信号和槽自定义信号槽需要注意的事项:4.信号槽的拓展5.下面是信号与槽的简单代码示例:1.概念信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出被原创 2020-06-19 16:06:22 · 4657 阅读 · 0 评论 -
QT5的程序打包发布(打包成exe可执行程序)
https://blog.csdn.net/kangshuaibing/article/details/84951619原创 2022-02-16 20:12:18 · 2124 阅读 · 0 评论 -
Qt+OpenCV小项目:灰度图转换
文章目录项目展示项目代码界面mainwindow.hmainwindow.cpp刚装上Qt和OpenCV,配置好后,测试的第一个程序。项目展示项目代码界面mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <opencv2/imgproc/imgpr原创 2022-01-09 16:37:49 · 3423 阅读 · 0 评论 -
Qt+OpenCV配置教程(图解亲测)
配置前准备:安装1、cmake安装2、qt mingw安装3、opencv安装原创 2022-01-09 16:16:57 · 11611 阅读 · 5 评论 -
Ubuntu 20安装 Qt5.9
文章目录安装Qt1、安装包下载2、修改权限进行安装3、开始安装4、在新窗口中选择next,然后输入安装路径进行安装5、配置系统路径6、测试配置其他安装配置创建桌面快捷方式安装Qt1、安装包下载官网下载地址:http://download.qt.io/archive/qt/,我这里下载的是5.9.9,选择linux版本qt-opensource-linux-x64-5.9.9.run;也可以用清华大学的镜像:https://mirrors.tuna.tsinghua.edu.cn/qt/archiv原创 2021-12-27 19:55:37 · 4333 阅读 · 2 评论 -
Qt小案例——时间模块
项目展示链接https://download.csdn.net/download/weixin_45525272/16673791项目架构对象名:dialog.h#ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QTimer>#include <QTime>namespace Ui {class Dialog;}class Dialog : pub原创 2021-04-14 16:49:20 · 3774 阅读 · 0 评论 -
Qt小案例——进制转换
界面展示项目链接https://mp.csdn.net/console/upDetailed项目构成页面设计widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0原创 2021-04-13 11:23:14 · 3914 阅读 · 0 评论 -
Qt 状态栏QStatusBar
状态信息QStatusBar类提供一个水平条来显示状态信息。所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。状态信息可以分为三类:临时信息,如一般的提示信息;正常信息,如页数;永久信息,如版本信息。状态栏使用函数QMainWindow中默认提供了一个状态栏。我们可以使用showMessage()来显示一个临时消息,它会出现在状态栏的最左边。我们一般用addWidget()将一个QLabel加到状态栏上用于显示正常信息,它会生成到状态栏的最原创 2021-04-13 10:50:38 · 7185 阅读 · 0 评论 -
Qt项目——文本编辑器
文章目录项目展示项目链接项目构成main.cppqwmainwind.hqwmainwind.cpp项目展示项目链接https://download.csdn.net/download/weixin_45525272/16648942项目构成创建好页面设计类名为qwmainwindow,基类选择QWMainWind,在main.cpp中编写显示主窗口的代码main.cpp#include "qwmainwind.h"#include <QApplication>int ma原创 2021-04-13 09:00:59 · 4060 阅读 · 0 评论 -
Qt 5——对象模型(对象树)
文章目录对象模型(对象树)对象树与内存问题对象模型(对象树)在Qt中创建对象的时候会提供一个Parent对象指针,下面来解释这个parent到底是干什么的。QObject是以对象树的形式组织起来的。当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针。这相当于,在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表。当父对象析原创 2021-02-18 21:23:27 · 3959 阅读 · 2 评论 -
QT安装具体图解
文章目录QT安装包下载Qt安装QT安装包下载我下载的版本是最新的5.14.2下载链接在下面,https://download.qt.io/archive/qt/5.14/5.14.2/找到Windows版本下载(ps:如果需要下载其他版本的话点击父目录就可以去选择不同版本了,建议5.9以上。)(ps:Linux上的Qt安装日后会更新,见谅)Qt安装1.双击下载好的安装包,出现界面点击next2.根据个人情况选择填写信息,有账号就登陆,没有就注册一个(注意:注册时候的密码需要英文大写,原创 2021-01-23 21:49:46 · 49036 阅读 · 21 评论 -
Qt常用快捷键和技巧
文章目录常用快捷键常用技巧常用快捷键F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式Ctrl+6 输出模式Alt+0 显示或者隐藏侧边条,编原创 2020-08-08 19:10:06 · 4789 阅读 · 0 评论 -
json基础知识与Qt中的应用
文章目录1 什么是json2 Qt 5 新增加了处理 JSON 的类3 QJsonDocument类4 QJsonObject QJsonArray QJsonValue5 案例1 什么是jsonJSON的全称是”JavaScript Object Notation”意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式2 Qt 5 新增加了处理 JSON 的类Qt 5 新增加了处理 JSON 的类,均以 QJson 开头,在 QtCore 模块中,不需要额外引入其原创 2020-08-08 18:27:36 · 3753 阅读 · 0 评论 -
Qt 5——使用http协议通信
文章目录Qt中使用http协议通信Qt中如何使用http协议通信QNetworkAccessManager 类QNetworkRequest类QNetworkReply 类代码示例Qt中使用http协议通信Qt中如何使用http协议通信QNetworkAccessManager类允许应用程序发送网络请求和接收网络应答。Network Access API都是围绕着一个QNetworkAccessManager对象构造的,这个对象包含着发送请求的一些通用配置和设置。它包含着代理和缓存的配置,以及和这原创 2020-08-08 18:06:58 · 5890 阅读 · 3 评论 -
Qt中base64基础的应用
文章目录什么是base64为什么要用base64编码base64的作用base64的简单算法描述Qt中使用base64什么是base64Base64是一种用64个字符来表示任意二进制数据的方法(就像ASCII码一样,是一种数据标准)[‘A’, ‘B’, …‘Z’, ‘a’, ‘b’, …‘z’, ‘0’, ‘1’, …‘9’, ‘+’, ‘/’]为什么要用base64编码在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些原创 2020-08-08 17:04:59 · 4629 阅读 · 0 评论 -
md5基础知识与Qt中的应用
文章目录md5简介MD5算法具有以下特点:md5的应用MD5算法描述QCryptographicHashmd5转换工具下载md5简介md5(Message-Digest Algorithm 5(信息-摘要算法5))MD5算法具有以下特点:任意长度的数据,算出的MD5值长度都是固定的。把一个任意长度的字节串变换成一定长的十六进制数字串压缩性: 容易计算:从原数据计算出MD5值很容易。抗修改性对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。强抗碰撞:已知原数据原创 2020-08-08 16:54:50 · 3937 阅读 · 0 评论 -
Qt :qt.network.ssl: QSslSocket : cannot call unresolved function TLSv1_1_client
在后期可能做了改进就不报错了问题在编译的时候,出现了如下错误:qt.network.ssl: QSslSocket : cannot call unresolved function TLSv1_1_client_methodqt.network.ssl : QSslSocket : cannot call unresolved function SSL_CTX_newqt.network.ssl : QSslSocket : cannot call unresolved function SSL原创 2020-08-08 16:41:55 · 3931 阅读 · 0 评论 -
Qt 5——Qt程序打包(图文)
Qt的应用程序编译出来之后,将单独的exe程序拿到其他PC上运行是运行不起来的,会提示缺少对应的动态链接库。我们需要去Qt的安装目录下找到所有的Qt程序运行时所依赖的,将他们和exe程序放到同一目录下,程序才可以执行。根据上边的描述我们可以想象的到,如果手动去寻找应用程序依赖的动态库,这是一件非常麻烦的事情。其实我们完全没有必要这么辛苦,Qt给我们提供了一个寻找依赖项的工具windeployqt1.Windeployqt的使用方法:如果我们一件配置好了环境变量,在dos下输入windeployqt会有原创 2020-06-23 16:06:28 · 4297 阅读 · 0 评论 -
Qt 5打造QQ群聊软件系统
成品截图项目链接原创 2020-06-20 19:15:42 · 4548 阅读 · 0 评论 -
Qt 5——文件系统操作
文件系统文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图(Qt5):QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFileDevice:Qt5新增加的类,提供了有关文件操作的通用实现。QFlie:访问本地文件或者嵌入资源;QTemporaryFile:创建和访问本地文件系统的临时文件;QBuffe原创 2020-06-20 19:04:21 · 4937 阅读 · 0 评论 -
Qt——常用快捷键
大佬发的更详细的一篇↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓https://blog.csdn.net/liang19890820/article/details/49928493F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+ 欢迎模式Ctrl+ 编辑模式Ctrl+ 调试模式Ctrl+原创 2020-06-19 21:50:21 · 4315 阅读 · 0 评论 -
Qt 5——绘图和绘图设备
文章目录1 QPainter2 绘图设备QPixmapQBitmapQPixmapQImageQImage与QPixmap的区别QPicture绘图设备总实例1 QPainterQt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作原创 2020-06-19 21:43:04 · 4343 阅读 · 0 评论 -
Qt 5——Qt消息机制和事件(一)
1 事件事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。在前面我们也曾经简单提到,Qt 程序需要在main()函数创建一个QApplication对象,然后调用它的exec()函数。这个函数就是开始 Qt 的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件。当事件发生时,Qt 将创建一个事件原创 2020-06-19 21:19:37 · 4249 阅读 · 0 评论 -
Qt 5——Qt消息机制和事件(二)
3 事件过滤器有时候,对象需要查看、甚至要拦截发送到另外对象的事件。例如,对话框可能想要拦截按键事件,不让别的组件接收到;或者要修改回车键的默认处理。通过前面的章节,我们已经知道,Qt 创建了QEvent事件对象之后,会调用QObject的event()函数处理事件的分发。显然,我们可以在event()函数中实现拦截的操作。由于event()函数是 protected 的,因此,需要继承已有类。如果组件很多,就需要重写很多个event()函数。这当然相当麻烦,更不用说重写event()函数还得小心一堆问原创 2020-06-19 21:19:22 · 4170 阅读 · 0 评论 -
Qt 5——常用控件(QLable、QLineEdit、)
文章目录资源链接(工程文件)1 QLabel控件使用显示文字(普通文本、html)显示图片显示动画2 QLineEdit设置/获取内容设置显示模式3 其他控件4 自定义控件其他控件小案例TreeWidgetTableWidgetOther控件混合资源链接(工程文件)https://download.csdn.net/download/weixin_45525272/125360681 QLabel控件使用QLabel是我们最常用的控件之一,其功能很强大,我们可以用来显示文本,图片和动画等。显示文字原创 2020-06-19 20:14:11 · 5942 阅读 · 1 评论 -
Qt 5——对话框QDialog
文章目录基本概念标准对话框自定义消息框模态对话框非模态对话框消息对话框标准文件对话框以上知识示例结果cpp基本概念对话框是 GUI 程序中不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。Qt 中使用QDialog类实现对话框。就像主窗口一样,我们通常会设计一个类继承QDialog。QDialog(及其子类,以及所有Qt::Dialog类型的类)的对于其 parent 指针都有额外的解释:原创 2020-06-19 16:28:26 · 5490 阅读 · 0 评论 -
Qt 5——添加资源文件方法步骤(图解)
基本步骤1首先将资源导入到项目中2右键项目 - 添加新文件 – Qt - Qt Resource File3给资源起名称 res4Qt会生成res.qrc 文件5右键res.qrc open in Editor6添加前缀7添加文件8使用 “ : + 前缀名 + 文件名 ”9可以设置别名,但是不建议,因为设置别名,原来的方式就不可用了详细步骤(图解)Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(原创 2020-06-19 16:04:55 · 12431 阅读 · 1 评论 -
Qt 5——QMainWindow类
文章目录QMainWindow概念菜单栏注意工具栏状态栏铆接部件核心部件(中心部件)小案例示意效果图:cpp代码QMainWindow概念QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。下图是一些在子类控件的排列位置菜单栏一个主窗口最多只有一个菜单栏原创 2020-06-19 16:01:07 · 4325 阅读 · 0 评论 -
Qt 5——Lambda表达式
C++11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。首先看一下Lambda表达式的基本构成:[capture](parameters) mutable ->return-type{statement}[函数对象参数] (操作符重载函数参数)mutable ->返回值{函数体}① 函数对象参数 [ ];[ ],标识一个Lambda的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数的。函数对象参数只能使用那些到定义.原创 2020-06-19 15:50:53 · 4064 阅读 · 0 评论