Qt
文章平均质量分 76
前行中的小猪
一个爱数码,爱捣鼓,喜欢钻研,疯狂敲代码努力奋斗的Coder, Cheer Up!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt模仿磁轴键盘驱动
目前磁轴键盘使用越来越多,参考Wooting磁轴键盘驱动样式,使用Qt模仿出对应的界面效果图。支持多个键盘配列,104、98、84、82、81等配列。原创 2024-04-02 08:44:53 · 1062 阅读 · 6 评论 -
5.1 QThread的两种使用方式
QThread类用于创建和管理线程,它并不是线程本身。通过使用QThread,我们可以在应用程序中实现并发执行的任务,从而提高应用程序的性能和响应能力,能够有效地利用CPU资源,提高程序运行效率。且QThread创建和管理线程的方式是独立于平台的,不管是windows、linux、还是macOS都是适用的。QThread对象还支持信号槽机制,在不同线程之间进行数据传递变得更加方便快捷。同时也提供了一系列方法和属性来帮助我们对线程进行管理和控制。原创 2024-01-04 19:00:00 · 1916 阅读 · 0 评论 -
Linux下QT生成的(.o)、(.a)、(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)之间的区别
其中,(.so.1.0.0)为实际的动态库文件,(.so)、(.so.1)、(.so.1.0)均为软链接,都是指向(.so.1.0.0)的链接文件,为了版本控制。(2)Linux 下 QT 生成的(.so)、(.so.1)、(.so.1.0)和(.so.1.0.0)四个文件的区别。QT在生成动态库时,会默认生成(.so)、(.so.1)、(.so.1.0)、(.so.1.0.0)四个文件。(1)Linux 下 QT 生成的(.o)、(.a)和(.so)三个文件的区别。动态库的后缀名为(.dll)。原创 2024-01-03 23:20:54 · 2452 阅读 · 0 评论 -
Qt之突发感悟
简述在训练营的上篇文章中讲述了Qt中connect 和 disconnect的用法,我们看到不管是connect还是disconnect,Qt都提供了多种重载的方法,其中分别有Qt4和Qt5对应的版本,我们从中也感受到了不同,因为兼容性,Qt4的很多写法一直沿用至今,也仍然有很多人在用,因为很多人接触的项目中或者平常学习中会经常看到Qt4的信号槽连接方法,所以完全抛弃Qt4目前是不可能的了,因为至今你没有办法将所有项目中关于Qt4的一些东西进行抹除,Qt的开发人员也意识到这个问题,所以Qt4的很多方法和特原创 2022-04-06 18:05:17 · 1506 阅读 · 6 评论 -
Qt之使用GraphicsView框架实现思维导图功能
一、简述我们常见的思维导图类型XMind软件,功能十分强大,提供了各式各样的导图样式、形式,那我们可以用Qt实现思维导图的功能吗,答案肯定是可以的,用图说明。1、静态方式读取本地数据的方式进行展示。2、优化(1)增加选中效果(2)优化连接线条3、动态方式(1)可自由添加/删除节点(2)双击可重命名节点(3)可折叠节点(4)每层节点颜色可自定义(5)支持xml格式数据的保存/读取(可拓展为其他格式或数据库)线条绘制Codevoid LineTest::paintEvent原创 2022-05-10 18:20:29 · 6646 阅读 · 16 评论 -
Qt之如何使用matlab库对mat文件进行读写操作
一、简述分享一下在Qt使用matlab库进行一些操作,至于什么是matlab,百度一下,你就知道。matlab中有很多写好的库函数可以方便使用,想使用matlab自己的数据文件.mat文件也需要引用matlab的相关库函数。具体有两种用法:1、在matlab中写好相关函数,发布为dll供Qt使用2、直接在Qt中使用matlab库函数两种方法都有各自优缺点,其一因为在matlab软件中...原创 2019-10-14 16:57:03 · 6736 阅读 · 1 评论 -
Qt / C++常见小问题汇总
一、简述近期由于在工作过程中经常会遇到以前遇到过的同样的问题,当再次面对这些问题时,有时候解决起来很顺利,有时候就很尴尬,所以为何不将这些问题记录下来呢,下次再遇到不是So Easy了吗?其实说的很简单,说是要记录下来,但是实际上真正能够把一些棘手的问题详细记录下来确实有点difficult,因为有些问题也不是三言两语能够讲明白的,需要实践、整理、测试、验证、记录。所以在工作过程中会遇到很多问题,但原创 2017-07-16 00:00:00 · 1636 阅读 · 0 评论 -
Qt之布局Layout的应用
一、简述前天群里有个小伙伴说对Qt中的布局很困惑,想让我写一篇关于布局的文章,今天就应这位同学的要求,先简单介绍一下Qt中的布局。对于刚接触Qt的小伙伴可能对Qt中的各种布局以及各种参数云里雾里,后面将会对布局进行一一介绍。其实刚开始学Qt的时候对布局也很头疼,不知道如何下手,还是要多看文档,多看(写)代码,看的多了,写的多了,自然也就熟了。这就好比是闯关游戏,需要打怪升级,突破一个一个关...原创 2017-09-04 00:02:24 · 4661 阅读 · 7 评论 -
关于无法从“initializer-list”转换为“QJsonObject”解决办法
一、简述前些天在工作中使用QJsonObject的构造进行初始化出现了一下的问题。我们先看一下下面QJsonObject的一种构造方法。在我使用的VS2013版本编译时会出现无法从“initializer-list”转换为“QJsonObject”的问题。问题出在Q_COMPILER_INITIALIZER_LISTS宏定义。(见下图)class Q_CORE_EXPORT QJsonObject原创 2017-11-30 23:29:57 · 5739 阅读 · 0 评论 -
如何给生成的exe加图标
一、简述今天就简单介绍一下如何给exe加图标,其实很简单,但是主要是为了讲述另一个问题,这也是之前遇到的一个容易忽略的问题。首先我们了解一下一共有多少个图标可以设置。 看到下面这张图,我们首先会了解到生成的一个exe程序其实对应了三个图标,一个是exe本身的图标,一个是标题栏的图标,还有一个就是任务栏的图标。不过还有一个隐藏的图标,就是任务栏悬浮窗口的图标。这个只有在任务栏设...原创 2017-11-24 12:32:44 · 32862 阅读 · 5 评论 -
Qt界面开发小汇总
一、简述本篇文章将楼主半年来一些界面的设计进行汇总,有兴趣的小伙伴们可以了解一下,直接点击标题就可进入相应的文章,每篇文章都有详细的介绍以及源码的下载,欢迎小伙伴一起交流。1、 Qt 之QToolButton 实现QQ界面按钮效果 2、 Qt 之 QQ系统表情—实现动态显示效果 3、 Qt 之 模仿迅雷 根据Url获取文件信息 4.1、Qt 之 自定义窗口标题栏4.2、 Qt 之 自定义窗口标题原创 2017-03-27 21:51:43 · 6474 阅读 · 13 评论 -
Qt动画类实例一
一、简述前段时间群里小伙伴想写个自定义的控件,二话不说,我就答应帮他写了,结果一拖就拖到了今天。实现起来很简单,简单应用了动画类的效果就OK了。主要是对窗口的pos及新增了一个cornerOpacity属性做了动画处理,实现了窗口在鼠标进出时左右滑动,以及四个边框角的忽隐忽现效果。图一为Qt动画实现效果:图二为小伙伴提供要实现的效果: 二、代码之路#include "AnimationTest.h原创 2017-11-27 23:03:54 · 3276 阅读 · 1 评论 -
如何使用Qt绘制时间刻度轴
简述在日常开发过程中,我们一般都使用Qt提供的控件库。但是在特殊情况下,我们需要一些特殊的效果,而Qt本身提供的控件有限,可能满足不了我们的需求。所有这个时候需要我们自己去创造新的控件。创造新的控件有两种方式,一种就是控件与控件之间相互组合成的新控件,另一种则是通过QPainter绘制出我们所需要的控件,通过绘制我们想咋整就咋整,而且QPainter提供的接口非常丰富,使用起来也非常方便。...原创 2018-04-20 11:10:04 · 14760 阅读 · 18 评论 -
2018最后结尾
简述今天是2018年最后一天,这一年经历了很多,发生了很多事,有好的有坏的,总之成长了很多。在不久之后就是2019年了,在此祝大家新年快乐了,希望大家在新的一年里学习Qt从入门到精通,而不是从入门到放弃(O(∩_∩)O)。今年用Qt自绘实现了很多好玩的东西,QPainter功能真的十分强大,下面展示今年做的一些小例子。好多示例已经在博客中进行了源码的分享及解析,希望大家多多支持。 ...原创 2018-12-31 23:59:45 · 1219 阅读 · 1 评论 -
Qt之时间轴样式汇总
一、简述根据小伙伴的反应情况,时间轴的需求还是挺多的,对应视频播放,视频监控等功能都需要时间轴的辅助。时间轴也是各式各样,但都大同小异。时间轴的功能大致可以总结为一下几点:自由设置时间段刻度间隔可设置时间表达式(1、01、1:00、01:00)刻度线,刻度值,背景样式颜色鼠标滚轮放大缩小功能(时间刻度比较拥挤时很管用)鼠标拖拽移动时间刻度时间轴与数据相结合(比如监控视频时间区间...原创 2019-05-17 17:02:35 · 13983 阅读 · 11 评论 -
Qt之实现聊天软件
简述几年前写的一个简易版聊天软件,起先是模仿了QQ的登录窗口,后来就自己实现了整个聊天功能,客户端,服务端都使用Qt编写。界面相对简单一些,不过聊天功能都有,文字,图片,表情消息都有,可以发文件消息。好友上下线头像都会有提示,也会在显示器右下角提示好友上线通知,不过这个功能貌似不是很友好,QQ好像也没怎么见这个功能了。下面附录几张效果图,后期有时间把分享一下整个过程。登录窗口注册窗口...原创 2019-08-14 11:05:51 · 10127 阅读 · 24 评论 -
Qt 中的字体
注意不同字体的宽度和高度可能不一致,这一点在字符限制或者控件宽度限制情况下极为重要。计算字符宽度时注意统一字体。Qt中默认的字体为宋体。 windows字体在C:\Windows\Fonts目录下,如果在Qt中设置不了字体可以去该目录下查找是否丢失字体。Qt 支持的中文字体的名称“Arial Unicode MS” “Fixedsys” “SimSun-ExtB” “System” “Te原创 2016-08-01 17:12:51 · 9113 阅读 · 0 评论 -
Qt之 捕获键盘的组合键
一、简述之前做了截图的小应用——Qt 之 简单截图功能,于是就想到了QQ截图直接使用组合键 Ctrl + Alt + A 就可以调用截图了。于是乎自己重写了 keyPressEvent事件用来捕获当前键盘的组合键,这里简单介绍一下Qt中如何捕获我们按下的某个按键或者组合键。二、代码之路其实代码很简单,比如我们也捕获当前键盘的 Ctrl + Alt + A组合键,以下代码就可以轻松实现。重写keyPr原创 2017-07-14 17:57:31 · 13402 阅读 · 0 评论 -
Windows 剪切板的应用——复制浏览器or本地目录图片
一、简述最近看了windows的剪切板相关的应用代码,于是乎,便想将浏览器中复制的图片保存到本地,经过尝试,通过以下代码完成在浏览器中右键选择复制图片,然后监控键盘事件,当按下Ctrl + v 时保存到本地,并显示到界面上。看一下效果图:二、代码之路下面是基于Qt建立的工程,其他工程直接使用sendCopyImage() 、 SaveBitmapToFile()方法即可。#include "clip原创 2017-02-28 23:56:31 · 3232 阅读 · 3 评论 -
Qt 窗口属性简介之Qt::WA_DeleteOnClose
一、简述今天介绍一个简单的窗口属性——Qt::WA_DeleteOnClose。在正常创建窗口后,我们一般会调用close()方法来关闭窗口,这里我们看一下Q助手中关于close()方法的介绍。 bool QWidget::close() Closes this widget. Returns true if the widget was closed; otherwise returns原创 2016-12-14 22:25:33 · 3611 阅读 · 2 评论 -
Qt 之 HTTP 请求 多线程分块下载——上(获取下载文件大小)
简述在 Qt 之 HTTP 请求下载(支持断点续传) 文章中我们使用Qt 的方法进行HTTP 请求下载文件,同时能够断点续传,本篇文章是这一篇文章的续篇。我们一般在网上下载软件、电影、文件等,大都是使用迅雷下载,因为迅雷下载相对而言较快。在我们日常生活中,使用迅雷下载大文件时,非常占网速,甚至会占用整个家庭局域网的带宽。有时候浏览器都打不开网页,但是迅雷有限速功能,能够保护正常上网。下面看一张图。这原创 2016-11-14 18:30:42 · 9830 阅读 · 5 评论 -
Qt 之 使用 https:// 发送 HTTP请求
一、简述在使用Qt发送HTTP请求中一般使用的链接都是http://前缀,而有的服务器支持 https://前缀的链接,而Qt本身是支持https的,但是https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在Qt中使用https需要进行SSL认证。实现非常容易,简单几步即可完成。二、如何进行SSL认证1、首先需要下载libeay32.dll 和 ssleay32.dll两个库文件,将原创 2016-12-12 22:16:53 · 17983 阅读 · 6 评论 -
Qt QTcpSocket 对连接服务器中断的不同情况进行判定
简述对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态。而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结。分为下面六种不同情况客户端网线断开客户端网络断开客户端通过HTTP代理连接服务器,代理机器断开代理客户端通过HTTP代理连接服务器,代理机器的网络断开客户端通过HTTP代理连接服务器,代理机器的网线断开服务器断开同时对于以上六种情况又分为原创 2016-08-24 14:40:37 · 18058 阅读 · 2 评论 -
Qt 中的事件简述
调用顺序bool eventFilter(QObject watched, QEvent *event)(过滤器) -> bool event(QEvent *e) -> event处理函数(例如void mousePressEvent(QMouseEvent )等)eventFilter过滤器 return true ,则对该事件不进行分发 , return false , 则对该事件继续分发到各原创 2016-08-01 17:21:14 · 1282 阅读 · 0 评论 -
Qt 之 HTTP 请求下载(支持断点续传)
简述最近在研究了一下用Qt 的方法来实现http下载,Qt 中的Http请求主要用到了QNetworkAccessManager、QNetworkReply、QNetworkRequest 这三块。本篇文章主要叙述如何用Qt 的方法进行HTTP 请求下载文件,能够支持断点续传(断点续传即能够手动停止下载,下次可以从已经下载的部分开始继续下载未完成的部分,而没有必要从头开始上传下载),并且实时更新下载原创 2016-09-29 20:32:19 · 19675 阅读 · 42 评论 -
Qt 之 WAV文件解析
简介最近看了一下Qt的处理音频方面的资料,本身利用QAudioInput 和 QAudioOutput 就可以实现录音和播放功能,代码也很简单,但是录音生成的文件并不能用播放器打开,就算更改后缀名也无法识别(有时候下载的一些音频文件通过修改文件名可以播放)。本质上通过QAudioInput生成的音频文件并没有什么格式,只是一堆音频数据,换言之就是没有文件头,只有数据,当然播放器识别不出来了。这里我们原创 2016-10-10 15:25:05 · 11044 阅读 · 3 评论 -
Qt 之 WAV文件属性计算(比特率、文件大小、文件时长)
简述在 Qt 之 WAV文件解析 中给出了WAV文件属性的计算,具体包括文件大小、音频时长、比特率等属性,这里我们再次验证一下这些属性值的计算 。在计算之前,我们要知道一下wav文件中的三个参数 采样频率、音频通道数、每次采样得到的样本位数 ,这三个参数用来表示声音,同时决定了wav文件的音质,大小。下面简单介绍一下这三个参数。采样频率 指每秒钟取得声音样本的次数。采样的过程就是抽取某点的频率值原创 2016-10-13 15:12:33 · 10525 阅读 · 3 评论 -
Qt之实现录音播放及raw(pcm)转wav格式
简述在上一篇 Qt 之 WAV文件解析 中详细地分析了wav格式文件的文件头信息。通过QAudioInput实现录音功能,但是录音生成的文件并不能用播放器打开,就算更改后缀名也无法识别(有时候下载的一些音频文件通过修改文件名可以播放)。在Qt助手中将录音生成的文件保存为.raw格式,那么这个raw到底是什么格式呢?其实看raw字面的意思是原始的、未处理的、未加工的,从此看来QAudioInput 生原创 2016-10-10 20:24:32 · 11473 阅读 · 2 评论 -
2017——开篇
今天是2017年的第一个工作日,算是2017年的第一个开始。今天写的博客也是2017年的第一篇博客,2016年过的很快,这一年里发生了很多事情,颇有些感慨。时间匆匆走过,留下的却是些许回忆。从2016年8月开博,至今近半年时间,共计35篇博客,博客浏览量也达到了一万多,这个数字虽不是很多,但是每天都在增加,每天都有人在关注。我希望我写的每一篇博客都能够帮助到大家。本人还是小白一枚,希望在这里能够交到原创 2017-01-03 22:29:54 · 1579 阅读 · 2 评论 -
Qt 之 安装及调试源码
简述在使用Qt过程中有时候需要查看源码了解Qt类库的内部实现。那源码在哪呢?我安装了Qt之后怎么找不到源码呀?安装源码在安装Qt的时候有一个选项是默认不打勾的,而这个默认不安装的选项就是Source Components(源码),这里我们打上勾,然后进行安装。安装完之后, 打开 这个目录 E:\Qt5.5.1\5.5\Src , 我们就可以看到Qt的源码了。下图是QDialog源码所在位置。打开qd原创 2017-01-17 15:56:05 · 9116 阅读 · 0 评论 -
Qt / C++常见小问题汇总(二)
一、简述在上一篇文章 Qt / C++常见小问题汇总(一) 中讲述了两个小问题,今天就接着这篇讲述三个日常开发过程中会遇到的问题。问题列表问题一: 不允许使用不完整的类型 / error C2079: “xxx”使用未定义的 class“XXX”问题二: 在没有适当 operator()情况下调用类类型的对象或将函数转换到指向函数的类型 / error C2064: 项不会计算为接受 0原创 2017-07-14 17:27:44 · 13112 阅读 · 0 评论 -
Qt之使用setWindowFlags方法遇到的问题
一、简述前段时间在使用setWindowFlags方法时遇到了一个坑,具体情况是想通过窗口界面上一个checkBox来控制窗口当前状态是否置顶,而Qt提供了Qt::WindowStaysOnTopHint标志,能够让窗口始终保持在其他窗口前端,也就是将窗口置顶。理论上,我们在勾选上checkBox之后将Qt::WindowStaysOnTopHint标志设置上,就会将窗口置顶,结果却将窗口隐藏了。那原创 2017-03-31 23:58:13 · 19181 阅读 · 8 评论 -
Qt / C++常见小问题汇总(一)
一、简述时隔两个月后的第一篇文章。在日常Coding中可能会遇到各种问题,但是遇到之后解决了并没有及时的记录,导致再次遇到相同或者类似问题时再次懵逼,所以记录下这些问题还是很有帮助的。今天就简单讲述几个常见的小问题,以及解决方案。后面会不断完善。二、常见问题问题一、No relevant classes found. No output generated.当我们在用VS编译程序时,VS输出栏目中出原创 2017-06-13 18:12:50 · 5953 阅读 · 0 评论 -
Qt 之 样式表使用过程中的冲突
一、简述我们在给控件设置样式的过程中,难免会有所冲突,那冲突究竟是怎么产生的呢?我们看下面的样式设置,第一条样式使用了ID选择器,给objectName为”okButton”、类型为QPushButton的实例设置字体颜色为灰色。而第二条样式使用了类型选择器,给类型为QPushButton的实例设置字体颜色为红色,这里我们发现这条样式同样适用于第一条样式选择的实例,且两条样式都是设置颜色属性,这里就原创 2017-04-10 22:55:39 · 3334 阅读 · 2 评论 -
Qt 之 样式表的使用——样式选择器(下篇)
一、简述在上一篇Qt 之 样式表的使用——样式选择器(上篇) 文章中讲述了前四种样式选择器,今天完成剩下的几种选择器的介绍。二、样式选择器样式表的样式规则今天开头先简单讲解一下样式表的样式规则。 Qt文档给出的解释 :A style rule is made up of a selector and a declaration.简单点就是 选择器 + 样式声明语句 (Selector + De原创 2017-03-23 23:49:44 · 6031 阅读 · 4 评论 -
Qt 之 样式表的使用——样式选择器(上篇)
一、简述时隔上一篇文章已经十多天没有更新博客了,实在惭愧,这些天也都在忙活着各种事情。不过时间还是海绵中的水,挤一挤还是有的。今天继上篇Qt 之 样式表的使用之设置样式的方法 ,来简单谈一谈Qt中样式选择器的一些用法。二、样式选择器我们先看一下Qt文档中对于不同选择器的解释:可以在Qt助手中输入 The Style Sheet Syntax 然后查看 Selector Types。我们可以看到Qt有原创 2017-03-20 22:35:02 · 6792 阅读 · 5 评论 -
Qt 之 样式表的使用——设置样式的方法
一、简述我们通常在使用Qt开发的过程中都会使用样式表来美化我们的界面,关于如何使用样式表的资料也很多,样式表的使用方法也千变万化。为了搭建一个漂亮的界面那么必须学会如何使用样式表,Qt帮助文档中提供了非常好的例子以及详细介绍,非常适合学习。同时呢,也不能光看文档中是如何设置样式,我们要亲自动手做一遍才能理解得更加透彻,好了闲话不多说,下面就我在日常开发过程中对样式表的使用做一下简单的总结。二、开始总...原创 2017-03-09 00:34:23 · 55044 阅读 · 16 评论 -
Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件)
一、简述在上一篇文章 Google Breakpad 在 windows下捕获程序崩溃报告中,简单介绍了Google Breakpad,同时讲解了如何如何获取Google Breakpad源码、环境的配置,以及自带demo的测试过程,今天就讲述一下如何使用Google Breakpad来帮我们自己的程序在崩溃的时候获取dump文件。下面我用Qt的程序为例,其他项目建立过程都基本类似,而且Google原创 2017-02-23 23:01:30 · 7562 阅读 · 5 评论 -
Qt 之 qt-vs-addin 安装失败后不能重新安装
简述今天在在更新环境的时候出现了几个巨坑的问题。 在安装qt-vs-addin插件的时候安装一半的时候,杀毒软件弹了出来开始清理垃圾文件,当时也没管,过了几分钟qt-vs-addin插件安装界面弹出一个提示框,说安装失败,郁闷了,难道是杀毒软件直接清理了安装文件???好吧,安装失败我重新安装,结果弹出了这个。检测到我已经安装了,让我先卸载,好,去卸载。打开控制面板—> 程序和功能,这里并没有 qt原创 2017-01-18 17:05:48 · 7380 阅读 · 0 评论 -
Qt 之 解析wav文件的头信息(详细分析、对比不同wav文件的数据)
简述在 Qt 之 WAV文件解析 中我们对wav文件的文件头中的数据进行了分析,在 Qt之实现录音播放及raw(pcm)转wav格式 中我们实现了录音/播放功能,并将.raw格式的音频文件转为wav格式文件,那我们拿到一个wav文件如何获取文件的具体信息呢,这一篇将叙述对wav文件的头信息进行解析。注意在看这篇文章前希望读者看一下 Qt 之 WAV文件解析 和 Qt之实现录音播放及raw(pcm原创 2016-10-11 21:29:42 · 9575 阅读 · 5 评论
分享