QT
QT的使用
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小米的修行之路
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
QT Tcp服务端:多线程接收文件
1、客户端链接:https://zhangzc.blog.csdn.net/article/details/1220735642、服务端界面如下图:3、当有一个客户端连接进来,开启一个线程对其进行管理;4、QTableWidget控件显示多有连接的客户端的信息;5、连接进来的客户端可以同时传输文件,互补影响;6、客户端断开连接,QTableWidget中的客户端信息删除;7、服务端可以显示传输进度、传输状态、传输文件名;8、文章后面给出服务端源码下载地址;9、主要代码原创 2021-12-21 21:47:30 · 2010 阅读 · 7 评论 -
QT Tcp客户端:多线程传输文件
1、客户端传输文件时采用多线程,新建一个线程用来传输文件,不使用界面线程;2、程序只能使用MinGw-32位编译器编译,这是因为客户端文件传输进度条采用的是第三方自绘插件,受它的编译器限制;3、客户端界面如下图:4、核心代码:pClient = new zzcClient; pClient->moveToThread(&m_thread); //开始连接信号 connect(this, &MainWindow::sigConnect, .原创 2021-12-21 21:26:39 · 2342 阅读 · 0 评论 -
QT操作Excel
1、层次结构(此部分参考网络):上图是excel对象的层次结构,1个excel就有1个Application对象,1个Application对象由多个Workbook对象组成,这些Workbook对象由Workbooks对象统一管理,Workbook对象下可以包含若干个Worksheet,这些Worksheet对象也有一个WorkSheets对象来统一管理,接下来是Range对象,这个对象就对应Worksheet里的表格单元了。2、封装类:#ifndef ZZCEXCEL_H#defin原创 2020-05-19 14:22:21 · 820 阅读 · 0 评论 -
ubuntu下使用qt编译QOCI(libqsqloci.so)驱动详解及测试
ubuntu下使用qt编译QOCI(libqsqloci.so)驱动详解及测试原创 2024-09-20 15:43:13 · 161 阅读 · 0 评论 -
银河麒麟编译opencv库并配置qt环境
银河麒麟系统编译opencv库原创 2024-08-27 15:55:26 · 222 阅读 · 0 评论 -
QT 自绘树形控件
自绘树形控件导航栏原创 2024-06-28 09:55:54 · 559 阅读 · 0 评论 -
QT json文件的读取封装
在QT中读取、写入json数据原创 2024-06-19 13:25:22 · 452 阅读 · 0 评论 -
QT 数据库连接池
使用数据库连接池连接数据库进行数据库操作原创 2024-06-14 14:27:30 · 520 阅读 · 0 评论 -
QT 自定义协议TCP传输文件
链接:https://pan.baidu.com/s/1-STnxdHi1wQXC_3kdhtVXQ。一、将文件看做是由:文件头+文件内容组成,其中文件头包含文件的一些信息:文件名称、文件大小等。三、每次发送信息格式:发送内容大小、发送内容类型(文件头或是文件块内容)、文件块内容。二、文件头单独发送,文件内容切块发送。后面附带实例的下载地址。原创 2024-05-20 16:38:05 · 466 阅读 · 0 评论 -
QLocalServer/QLocalSocket 实现保证程序只有一个实例
保障程序只有一个实例运行原创 2023-12-13 10:26:49 · 514 阅读 · 0 评论 -
QT UDP协议传输数据:base64编码+zip压缩+分块
QT UDP协议传输数据:base64编码+zip压缩+分块原创 2023-06-12 17:20:31 · 430 阅读 · 0 评论 -
Qt使用AES进行加密和解密
qt使用AES进行加密解密原创 2023-06-08 10:37:50 · 2534 阅读 · 2 评论 -
Qt使用第三方库openssl进行RSA加密解密操作详解
qt使用openssl进行rsa加密解密原创 2023-06-08 10:26:44 · 1360 阅读 · 0 评论 -
linux(ubuntu18.04LTS)+QT下程序的打包发布
ubuntu下qt程序的打包操作原创 2023-02-16 09:52:07 · 993 阅读 · 0 评论 -
ubuntu+QT 获取移动硬盘剩余空间大小
ubuntu获取磁盘剩余空间大小原创 2022-12-28 12:28:45 · 360 阅读 · 0 评论 -
ubuntu+QT使用http进行文件传输
http进行文传输原创 2022-12-23 15:07:10 · 646 阅读 · 0 评论 -
ubuntu+QT环境下实现对文件夹的压缩和解压缩操作
利用quazip库对文件夹进行压缩操作原创 2022-12-20 20:53:01 · 611 阅读 · 0 评论 -
QT Unknown module(s) in QT: serialport
linux QT原创 2022-10-11 14:17:09 · 2258 阅读 · 1 评论 -
使用QT连接access数据库详解(清晰、透彻)
QT下连接access数据库的方法详解原创 2022-09-21 22:17:48 · 2088 阅读 · 0 评论 -
QODBC查询Oracle中文乱码问题
解决QODBC操作oracle中文字段乱码的问题原创 2022-08-23 21:12:52 · 1085 阅读 · 0 评论 -
QT Libvlc录像功能的实现(提供32位和64位库)
带录制功能的播放器,后面提供播放器源码的下载:1、Libvlc录像功能需要自己修改vlc源码,然后重新编译,后面会给出编译好的Libvlc的32位库和64位库下载链接以及在QT中的使用方法,源码修改步骤如下,具体编译过程可以百度,听说很复杂。源码如何修改有一篇官方文档可以参考:https://patches.videolan.org/patch/606/(1)、修改源码增加录像接口:a、在include\vlc\libvlc_media_player.h文件中声明为LIBVLC_API类原创 2022-05-22 10:58:57 · 1258 阅读 · 2 评论 -
QT Libvlc抽帧对视频旋转90度显示以及轨道信息的获取
一、功能:对视频进行抽帧,并通过opencv对每帧图像进行旋转90,逐帧显示到界面控件上,效果如下:二、抽帧操作,涉及到的主要API如下:(1)、设置回调函数,在回调函数中对单帧图像进程处理:* \param mp the media player* \param lock callback to lock video memory (must not be NULL)* \param unlock callback to unlock video memory (or NULL i.原创 2022-05-21 16:18:41 · 778 阅读 · 0 评论 -
QT Libvlc旋转播放视频
使用Libvlc进行旋转播放视频时只需要我们在创建vlc实例时传入相应的参数即可:比如旋转90度:char const *argv[] = { "--video-filter=transform", "--transform-type=90}" }; int argc = sizeof(argv) / sizeof(*argv); m_pVlcInstance = libvlc_new(argc, argv);正常播放原创 2022-05-20 11:52:42 · 660 阅读 · 6 评论 -
QT QSlider实现进度条滑块移动到鼠标点击位置(2种方法)
1、默认情况下,当鼠标点击进度条时,滑块并不会直接移动到我们鼠标所点击的位置,而是按照PageStep向前或者向后移动。其实进度条的步进值分为两种:(1)、鼠标点击时的步进值叫PageStep,设置步进值的函数是:void setPageStep(int)(2)、键盘方向键控制进度条时的步进值,设置步进值的函数是:void setSingleStep(int)此外滑动条还有一个比较重要的函数叫做设置跟踪函数:void setTracking(bool enable)如果原创 2022-05-20 10:45:40 · 3919 阅读 · 3 评论 -
QT Libvlc播放视频时捕获鼠标和键盘事件
1、我们实现一个播放器,当播放视频时,可以使用键盘的方向键控制音量的大小、视频的快退快进,使用鼠标单击视频窗口停止/播放视频、鼠标双击视频窗口全屏再次双击恢复正常播放。然而默认情况下,Libvlc接管了视频窗口,我们无法捕获这些鼠标和键盘事件。原因时我们将视频窗口传递给了Libvlc:libvlc_media_player_set_hwnd(m_pVlcMediaPlayer, (void*)(m_widget->winId()));2、幸运的时我们可以使用Libvlc提供给我们的两个接原创 2022-05-19 23:00:11 · 765 阅读 · 0 评论 -
QT Libvlc视频画面上覆盖透明控件
1、效果:2、实现原理步骤(透明控件以按钮为例):(1)、首先实现一个子类,继承自QPushButton,绘制文字:#ifndef ZZCPUSHBUTTON_H#define ZZCPUSHBUTTON_H#include <QObject>#include <QPainter>#include <QPushButton>class zzcPushButton : public QPushButton{public: zzcP原创 2022-05-19 22:05:31 · 1001 阅读 · 0 评论 -
QT 基于Libvlc播放器实例2(事件回调)
1、实例界面:与实例1的播放器界面和功能相同,不同点是实例1是用Libvlc的接口函数来实现的,本实例中的播放进度、播放时间、总时间、播放声音等是通过Libvlc的事件通知来实现的。实例1:https://blog.csdn.net/u012372584/article/details/124816432?spm=1001.2014.3001.55012、主要功能:(1)、键盘控制播放快进、后退,声音大小设定,ESC键退出全屏播放;(2)、左键单击视频区域暂停/开始播放,左键双.原创 2022-05-19 10:48:02 · 540 阅读 · 0 评论 -
QT 基于Libvlc的视频播放器
1、播放器整体界面:2、主要功能:(1)、播放、暂停播放、停止播放;(2)、按钮控制重新播放;(3)、按钮控制快进、快退播放;(4)、按钮控制全屏播放;(5)、播放截图;(6)、键盘方向键控制声音滚动条前进后退、播放进度滚动条进退,tab键控制播放暂停、开始;(7)、鼠标单击视频暂停播放与开始播放;(8)、鼠标双击视频全屏播放与恢复正常大小播放;(9)、Esc键退出全屏播放;3、Libvlc框架使用简单介绍:(1)、主要结构体:来自雷神libvl原创 2022-05-17 11:09:30 · 1012 阅读 · 3 评论 -
QT Libvlc音视频环境配置及编译错误解决
1、Libvlc SDK下载地址:http://download.videolan.org/pub/videolan/vlc/以3.0.8为例,点击进入,分为32位和64位SDK:这里我下载64位,我们选择*.7Z压缩包:解压后,我们环境所需要的都在里面:2、环境配置:(1)、将plugins文件夹、libvlc.dll、libvlccore.dll放置到我们编译的exe程序所在文件夹中;(2)、将sdk文件夹放置到main.cpp文件夹中;(3)、在*...原创 2022-05-15 14:30:43 · 490 阅读 · 0 评论 -
QT C++开发指南实例QMediaPlayer使用 简易视频播放器
一、Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以首先我们应该安装一个DirectShow解码器,例如LAV Filters,就可以解决运行出错问题。文章后面会给出自己当时下载的一个,直接安装即可。二、1、使用QVideoWidget显示播放视频:2、使用graphicsView显示播放视频:三、源码和解码器下载地址:链接:https://pan.baidu.com/s/1PdRB8AilMcW8Rk3LdC_FeA提取码:zh..原创 2022-05-09 19:55:09 · 1115 阅读 · 0 评论 -
QT串口编程
串口实例最终展示界面,模仿网上的串口助手,文章后面附有源码下载地址:1、串口助手:2.实例界面:3、QT串口编程主要使用到的类:QSerialPort:提供了访问串口的接口函数;QSerialPortInfo:获取可用的串口信息,将QSerialPortInfo辅助类对象做为参数,使用setPort()或setPortName()函数可以设置要访问的串口设备。QT += serialport#include <QSerialPort>#inclu原创 2022-04-03 19:33:38 · 2250 阅读 · 1 评论 -
QT中操作Json数据
1、Json是一种独立于语言的数据格式,通过对数据的序列化操作,可用于不同语言之间数据的交换,也可以通过写*.json格式的文件,用于数据的存储。2、Json中主要有Json数组和Json对象两种数据类型,格式举例如下:(1)Json数组:// 整形[1,2,3,4,5]// 相同类型字符串["zhangsan", "lisi", "wangwu", "zhoaliu", "huangqi"]//不同类型字符串[3.1415926, 88, true, false, "NiHao,J原创 2022-03-19 21:05:16 · 1702 阅读 · 0 评论 -
QT 音频数据采集并绘制波形图(1)
1、使用到的QT相关类介绍:(1)、QAudioRecorder:音频录制类 ,其父类为:QMediaRecorder。录制的音频数据可以直接写入到文件中,不需要操作QIODevice进行设备的读写。录制的音频数据除包含原始数据,还包含了数据头信息,这样录制的文件可以直接使用播放器进行播放。(2)QAudioEncoderSettings:音频编码格式设置类,主要用于在录制之前设置音频的:采样率、编码格式、比特率、通道数、品质等等。(3)QAudioBuffer:具有特定格式和采用率的音频样本集原创 2021-12-29 15:46:43 · 5870 阅读 · 2 评论 -
QT 动态链接库的生成和调用
1、将一个自绘的listWidget类导出为动态链接库,要导出的listwidget类的大概长相如下:2、新建动态链接库项目,主要步骤如下图:完成后会生成一个特殊的头文件:这个头文件在动态链接库程序和调用动态链接库的程序都会使用,但里面的宏定义含义正好相反。(1)在动态链接库使用时,作用是导出动态链接库的函数、符号、类等;(2)在动态链接库的调用程序中使用时,作用是将动态链接库的函数、符号、类等导入到调用程序;编译、构建后,会生成*.a和*.dll两个文件。...原创 2021-12-10 15:06:50 · 767 阅读 · 0 评论 -
QT 带图片资源静态链接库的生成和调用
1、将一个自绘的listWidget类导出为静态链接库,静态链接库中附带有两张图片,演示调用时如何加载静态链接库并正常显示库中的图片(两个三角就是绘制的两张图片)。要导出的listwidget类的大概长相如下,此类的逻辑不做介绍:2、静态链接库导出步骤:(1)、选择library项目:(2)、设置项目名称:(3)、设置类的名称:(4)、设置构建套件。(5)、添加qrc资源,添加两张图片:(6)、*.pro文件修改成:QT += widgets直接...原创 2021-12-10 11:26:44 · 525 阅读 · 0 评论 -
Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑
1、先上一个集成到QtCreater中的效果图:2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator3、集成插件到QtCreater中的方法:(1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位(2)插件下载下来后工程预览:我选择msvc版本的SDK,打开找到匹配的SDK:...原创 2021-12-09 13:00:21 · 2032 阅读 · 4 评论 -
QT自定义控件插件的使用
如何自定义插件文章链接:https://zhangzc.blog.csdn.net/article/details/1218064211、我们先创建一个工程,用来使用我们之前自定义的插件,工程名称随便定:MyBatterUser.重要:编译器类型选择WinGW 32 Release项目------和之前自定义的插件要一致,否则可能调用插件库不成功。2、先说第一个问题,之前自定义的插件能否在QtCreater的控件面板上面显示出来并直接拖动:答案是我这里不能。如果要想显示出来,那么编译插件的编原创 2021-12-09 10:38:23 · 570 阅读 · 0 评论 -
QT导出自定义控件插件
1、新建一个插件项目,步骤如下图:选择编译器很重要,关系到我们自定义的插件能否在QtCreater的控件面板上显示出来供我们拖动,同时我们如果要调用这个插件,调用程序的编译器、编译器类型、编译器位数都要尽可能一样,这里我们选择MinGW 32编译器。因为我们准备了一个写好的自定义插件类,并且类的名称是QwBattery,所以我们这里将控件类的名称设置为了QwBattery,这样当工程创建好后,直接替换头文件和cpp文件就好。如果没有准备好写好的插件类,这里这个名称可以随便命名,创建完工程..原创 2021-12-09 09:56:09 · 669 阅读 · 0 评论 -
QSqlTableModel显示部分列数据到QTableView上的两种方法
1、正常情况下我们通过QSqlTableModel的select()函数查询出的是所有列数据,都会显示在QTableView上,例如下面:(1)、建表并添加数据:db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("company.db"); if(!db.open()) { qDebug() << "open error" << db.lastError();原创 2021-09-02 09:29:00 · 1735 阅读 · 0 评论 -
QTabWidget样式表
1、QTabWidget模型,来自于网络:2、样式设置:this->setStyleSheet("QTabWidget::pane{border-width:1px;border-color:rgb(48, 104, 151);\ border-style: outset;background-color: rgb(132, 171, 208);\background: transparent;} \QTabW.原创 2021-08-31 11:19:15 · 4533 阅读 · 0 评论