- 博客(259)
- 资源 (32)
- 收藏
- 关注

原创 Qt 之 HTTP 请求下载(支持断点续传)
https://blog.youkuaiyun.com/GoForwardToStep/article/details/52704464本文旨在修正上述博客遇到的断点下载问题:断点之后下载的文件偏大解析:下载过程中,downloadProgress(qint64, qint64)信号触发的次数和readyRead()信号触发的次数不一样。onDownLoadProgress(qint64, qint64)槽中接收的字节数滞后了。解决办法:m_bytesCurrentReceived为当前下载的文件大小
2020-12-15 20:57:39
676
3

原创 electron程序启动报错“Uncaught Exception Error:The specified procedure could not be found”
最近上线的electron桌面端程序安装之后启动,老是出现报错“Uncaught Exception Error:The specified procedure could not be found”。从现象上看是加载node文件出错了。确定了几个方向,搜索了很多也没找到解决办法最终,...
2020-10-15 23:01:02
6582
6

原创 win10+VS2017+QT 5.14.2 QWebEngine编译HTML5 MP4支持及相关疑难问题解决
编译方案网上都有,这是stackoverflow上最详尽的一篇:https://stackoverflow.com/questions/50510457/how-to-compile-qt-webengine-5-11-on-windows-with-proprietary-codecs/50510458#50510458碰到的疑难问题:1. win10系统,运行qmake -- -webengine-proprietary-codecs,报告需要Windows SDK version 10.0.1
2020-09-02 10:18:06
2882
1

原创 Qt随机选人--年会抽奖小程序
一款基于Qt GUI的随机选人小程序。唯一的缺点:滚动不够平滑。核心源码://random_selector.h#ifndef RANDOM_SELCTION_H#define RANDOM_SELCTION_H#include <QWidget>#include <QPainter>#include <QTimer>#include <QPropertyAnimation>class CRandomSelector : p
2020-08-11 23:39:10
8133
7
原创 Qt MinGW编译出现obj file too big问题
在CMake中添加-Wa,-mbig-obj编译选项的几种方法:1. 使用add_compile_options全局添加;2. 使用target_compile_options针对特定目标添加;3. 通过set命令设置链接器选项(不推荐);4. 使用环境变量(不推荐)。最佳实践是使用add_compile_options或target_compile_options,这些方法清晰且易于维护。注意该选项用于解决QtMinGW编译时出现的"objfile too big"问题。
2025-05-26 11:59:52
135
原创 Qt C++实现马的遍历问题
本项目通过C++和Qt5框架实现了一个基于中国象棋马的遍历问题的图形化解决方案。项目核心包括马的“日”字形移动规则、Qt5的图形界面设计、C++编程实现以及深度优先搜索(DFS)或广度优先搜索(BFS)算法的应用。通过chessboard.ui设计界面,Chessboard.h和chessboard.cpp实现逻辑,QPainter类绘制棋盘,QGraphicsView和QGraphicsScene实现交互显示。
2025-05-22 20:43:57
211
原创 Qt C++图书管理系统
本文介绍了一个基于C++和Qt框架开发的图书管理系统,旨在实现图书馆的日常管理功能,如用户登录、注册、图书借阅与归还等。Qt框架的跨平台特性使得该系统兼容Windows、Linux、MacOS等多种操作系统。系统利用Qt的GUI组件设计了用户界面,并通过数据库技术(如SQLite或MySQL)存储用户信息和图书数据。核心功能包括图书检索、借阅与归还、用户账户管理以及数据备份与恢复。开发过程中,C++的面向对象特性和Qt的信号与槽机制被充分利用,确保了代码的清晰和可维护性。此外,系统通过单元测试和集成测试保证
2025-05-22 20:18:14
336
原创 Qt for Android申请允许管理所有文件权限
在Android平板上使用Qt开发App时,文件删除操作受到操作系统严格的权限管理和沙盒机制限制。具体原因包括沙盒隔离机制、权限控制和分区存储。为解决这一问题,可以通过申请“允许管理所有文件”权限来实现。实现过程包括在AndroidManifest.xml中添加权限声明,并在Activity中根据设备Android版本选择性地请求权限。对于Android 11及以上版本,需调用Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION来请求权限。程序运行时会动态检查
2025-05-12 18:11:40
258
原创 TCP黏包解决方法
TCP客户端每100ms发送16006字节数据,但由于TCP的MSS限制,数据会被拆分为1440字节的小包传输,可能导致拆包和粘包现象。拆包指数据被分割为多个不完整包,粘包指多个数据包被合并为一个包,接收端难以处理。使用Qt编写TCP服务器时,readAll()函数读取的是接收缓冲区的全部数据,而非单个数据包,因此需要手动处理拆包和粘包问题。通过累加接收数据长度,判断是否达到16006字节,若未达到则继续接收,若超过则裁剪多余部分作为下一包数据的开头。该方法有效解决了TCP拆包和粘包导致的数据解析问题。
2025-05-09 10:39:03
154
原创 Qt5 Mac系统检查休眠
Qt5.10提供了多种方式来检测系统休眠和唤醒,尤其是在macOS上,我们需要利用Objective-C的`NSWorkspace`结合Qt的桥接机制来实现。例如,可以创建一个`SystemSleepMonitor`基类,定义`systemDidEnterSleep`和`systemDidWakeUp`的信号,然后分别为Windows/Linux和macOS实现相应的子类。在实际项目中,你可以根据运行的平台动态选择合适的子类,并连接对应的信号槽,从而实现跨平台的系统休眠和唤醒检测。
2025-04-03 10:01:52
193
原创 Qt for Android下QMessageBox背景黑色、文字点击闪烁
最近在基于Qt开发安卓应用的时候,在红米平板上默认QMessageBox出现之后,背景黑色,并且点击提示文字会出现闪烁,影响用户体验。最终发现是系统对主题适配不好导致的。
2025-02-27 11:31:15
443
原创 Qt信号与槽底层实现原理
在Qt中,信号与槽是实现对象间通信的核心机制,它可以让一个对象的状态变化通知其他对象,而无需让对象之间保持紧密的依赖关系。这个机制不仅提供了松耦合的通信方式,还允许灵活地在运行时动态地连接信号和槽。Qt的信号与槽机制并非在编译阶段直接绑定,而是在程序运行时通过Qt的元对象机制进行动态搜索和匹配。这种灵活的设计是通过元对象编译器(MOC)来实现的。
2025-01-21 10:11:02
156
原创 QTabWidget的每个tab居中显示图标和文本
使用QTabWidget,给每个tab添加了图标之后,文字和图标之间有间距,没有完美居中显示。遇到此问题,尝试了多种办法,均不理想,最终自定义QTabBar,重绘tab,完美解决。
2024-10-11 13:53:31
849
原创 自定义QPushButton,通过设置icon,在不同状态下显示不同的图标
默认QPushButton设置icon后,当鼠标hove或者press时,图标不会变更为对应状态的图片。通过重写按钮,设置图标值,实现不同状态对应不同图标
2024-08-29 09:35:39
786
原创 PyQt5程序的打包和发布
在相应的文件夹中生成一个编译文件夹build,和一个存放exe文件的dist文件夹,双击exe文件即可运行。如果程序用到图片或者文件,则将这些文件一同放入dist文件夹中即可,压缩打包发布。普通Python程序由Python内部库提供,不包含第三方库模板。
2023-12-13 17:21:00
1229
原创 linux core文件调试方法
etc/profile 最后一行添加: ulimit -c unlimited。查看/data/my目录是否生成core文件。/etc/sysctl.conf 添加。4) 编译对应代码debug版本。如ddx xorg mesa等。创建保持core文件目录。三、gdb core文件。开启unlimited。
2023-09-27 10:02:49
1408
原创 win10+QT5.15+cryptopp562 完整配置开发
b、cryptopp562安装包下载,官网:https://www.cryptopp.com/,这里没选择最新的8.7是因为mingw-32编译后的库文件使用有问题,有错误,但是5.6用同样的方式编译就可以正常使用。拷贝编译后的libcryptopp562.a 和 cryptopp562.dll文件到lib目录。2、使用QT环境编译cryptopp562,解压源码包,命令行模式下:qmake -project生成 .Pro文件,修改内容:TEMPLATE = lib,7、编辑程序项目pro文件,
2023-08-30 10:48:55
2034
原创 c++实现java的SHA1PRNG算法
3).将sha1重置后,再调用sha1,传入字节流形式的key,生成字节流形式的key值。2).将加密的string字符串明文调用sha1哈希出。1)要加密的key明文:假设为dplyjc。
2023-08-30 10:27:36
953
1
原创 Qt仿Win10计算器,并存mysql或sqlite
基于Qt编写的计算器,实现了以下功能:1.简单四则运算功能:用户可以通过计算机,实现简单的加、减、乘、除功能;2.连续四则运算功能:用户可以完成多个数的连续加、减、乘、除功能;3.运算完毕后继续运算功能:用户在完成一次运算,计算出结果后,可以在前期运算结果的基础上继续开展新的运算;4.清零功能:清除所有运算中间结果,等待开始新运算;5运算日志保存功能:能够将用户的输入的计算过程记录在数据库中,一次计算以用户点击“="按作为结束标志,将该次计算的表达式记录;成字符串,存储在数据库表中;
2023-08-19 10:24:10
1176
1
原创 完美解决ubuntu系统QtCreator无法输入中文
在Ubuntu18 上安装搜狗输入法,启用fcitx输入系统之后Qt Creator 无法输入中文,原因是缺少fcitx的支持库libfcitxplatforminputcontextplugin.so。
2023-08-02 16:13:05
2793
1
原创 完美解决Qt error C2664: 无法将参数 1 从“const char []”转换为“char *
C++新标准不再允许将常量字符串,作为字符指针使用。对此,msvc编译环境,会报错。对此,可以在工程属性中配置“多字节字符集”来解决这个问题。目前,使用QtCreator,同样也可以在Qt工程文件中去配置“多字节字符集”在Qt工程文件pro文件中,去掉。至此,完美解决该问题。
2023-07-31 14:53:36
5616
1
原创 Qt水果大富翁游戏
早期,按键手机上会内置水果大富翁的游戏。通过按键左右移动篮子,接水果,不同的水果会加分,达到一定分数,自动升级。接到炸弹能力减少,减少到0,游戏结束。
2023-06-07 00:16:55
259
原创 Qt实现钢笔、毛笔的笔锋效果
所谓的笔锋效果,实则是在书写抬笔时的笔尖形成带尖角的细线。近来,Qt项目实现了一个手写板的功能。其中,书写文字带笔锋效果。
2023-06-06 23:34:06
658
原创 linux修改/etc/sudoers报错“没有找到有效的 sudoers 资源,退出”
linux修改/etc/sudoers报错“没有找到有效的 sudoers 资源,退出”
2023-04-03 15:49:00
2993
原创 【亲测可用】安装Qt提示“无法下载存档 http://download.qt.io/online/qtsdkrepository...“
安装Qt提示“无法下载存档 http://download.qt.io/online/qtsdkrepository..."
2023-04-03 11:18:48
15817
13
原创 Qt读xml文件
QXmlStreamReader类通过简单的流式API为我们提供了一种快速的读取xml文件的方式。他比Qt自己使用的SAX解析方式还要快。所谓的流式读取即将一个xml文档读取成一系列标记的流,类似于SAX。而QXmlStreamReader类和SAX的主要区别就是解析这些标记的方式。使用SAX解析时,应用程序必须提供一些处理器(回调函数)来处理来自解析器的一系列的所谓的xml事件,不同的xml标记会触发不同的事件,从而进行相应的处理。
2023-03-11 15:47:34
2167
原创 Git/Gerrit 提示”Permission denied (publickey).)“
Git/Gerrit 提示"Permission denied (publickey).)"
2023-02-20 10:59:58
4913
2
原创 免费的icon资源站
1、iconfinder2、flaticons3、thenounproject4、icons85、uxwing6、iconbros7、阿里巴巴矢量图标库
2023-02-14 11:45:56
162
原创 VS提示“fatal error LNK1169:找到一个或多个多重定义的符号“的终极解决方案
VS 提示“fatal error LNK1169:找到一个或多个多重定义的符号”或“fatal error LNK1169:one or more multiply defined symbols found”右键项目,属性->链接器->命令行。
2023-01-31 15:34:41
1668
原创 基于C++的AI俄罗斯方块设计
方块可以产生,并通过左右方向键可以控制方块的左右移动,通过方向键↑,可以改变当前方块的旋转角度,并通过方向键可以将改变后的方块堆放在适合的位置,。通过本次综合设计,掌握了C++面向对象的开发思想,对于复杂的问题学会从全局思考,分解问题并将模块化、画出结构图、设置好变量、留足修改与增添的空间、设计好测试的平台。俄罗斯方块是在一个m*n 的矩形框内进行的,矩形框的顶部会随机的出现一个有四个小方块组成的砖块,每过一段时间,就会下落一格,知道他碰到底部,然后再过一个时间下落另一个砖块,依次进行,砖块是随机出现的。
2022-12-30 14:58:11
1971
8
libexif编译后的文件包
2017-02-10
用英文单词模拟数学计算
2014-12-24
MainWindow.rar
2019-07-12
MinGW(含MySys)
2017-02-09
学生成绩管理系统.zip
2016-09-11
MinGW.part3
2017-02-09
VC++6.0_visual assist
2017-02-06
Linux网络编程 part2
2015-02-02
Linux网络编程
2015-02-02
Linux网络编程 part3
2015-02-02
ubuntu-qtcreator-fcitx-qt5编译好的库
2023-08-02
马的遍历问题horse
2023-02-23
paintHistogram.rar
2020-06-18
MinGW.part2
2017-02-09
quick terrain modeler破解版
2017-04-07
Qt boost库
2017-08-16
Java实现的迷宫
2017-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人