自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HelloKandy's Blog

保持热爱,不忘初心

  • 博客(604)
  • 资源 (12)
  • 收藏
  • 关注

原创 QT 如何在QPushButton上播放gif(终极版)

在平时浏览网站,或者使用软件的时候,经常可以见到:在点击了某个按钮之后,按钮上会显示动图以及提示文字。在QT中,比较常见且简单的做法就是:给按钮设置一个layout,然后在这个layout里面添加QLabel(作为QMovie的载体),以及用于显示文字的QLabel。该方案可参考:https://blog.csdn.net/hellokandy/article/details/120043562。

2024-03-14 17:24:44 460

原创 QT 如何防止 QTextEdit 自动滚动到最下方

QT5.14.2,在往QTextEdit里面append字符串时,如果超出其高度,默认会自动滚动到QTextEdit最下方。但是有些场景可能想从文本最开始的地方展示,那么就需要禁止自动滚动。代码如下://设置编辑框的光标位置(防止自动滚动到最下方)QTextCursor cursor = edit->textCursor();cursor.movePosition(QTextCursor::Start);edit->setTextCursor(cursor);...

2024-03-14 11:23:47 610

原创 Lua 如何读写ini文件

常见的配置文件通常使用ini文件来存储,读写ini文件的方式也有很多。本文想要实现的是:ini文件的读写由Lua实现,C只负责调用Lua来实现ini文件的读写功能。那么如何在C代码中调用Lua来实现ini文件的读写?

2024-03-13 19:06:50 320

原创 Lua 如何在Lua中调用C/C++函数

Lua调用C函数有两种方式 1. 程序主体在C中运行,C函数注册到Lua中。C调用Lua,Lua调用C注册的函数,C或者Lua得到函数的执行结果。 2. 程序主体在Lua中运行,C函数作为库函数供Lua使用。

2024-03-13 18:38:18 628 1

原创 Qt 如何搭建Lua的运行环境

Lua 是一种强大的、高效的、轻量级的、可嵌入的脚本语言。它支持过程(procedural)编程、面向对象编程、函数式编程以及数据描述。Lua 是动态类型的,运行速度快,支持自动内存管理,因此被广泛用于配置、脚本编写等场景。

2024-03-12 09:58:50 1238

原创 Qt Cannot mix incompatible Qt library (version 0x50e02) with this library (version 0x50e01))

在目标机器上,程序无法运行起来,通过日志查看发现打印了下面这个提示。大致意思是:无法将不兼容的Qt库(版本0x50e02)与此库(版本0x50e01)混合使用。

2024-03-11 13:45:36 269

原创 C++ 获取上一级文件夹路径

我们可能会经常遇到文件所在文件夹路径的问题,虽然各大平台也有提供方便快捷的API来实现,但是如果脱离平台本身,或者想实现跨平台的话,可以考虑用纯C++的代码来实现这一需求

2024-03-07 18:52:15 349

原创 Qt QtCreator打开pro项目时出现假死现象

在Windows系统下,QtCreator打开pro项目时出现假死现象,左侧项目树形图无法展开,项目根节点一直在转圈。尝试关掉所有QtCreator进程,重新打开pro也是无济于事。

2024-03-06 18:58:38 383

原创 Qt 二维数组的访问与应用

配色方案有多种类型,可以根据不同的需求和应用场景来选择合适的配色方法。在柱状图、饼状图中都会用到不同的配色,本文将配色方案使用二维数组进行存储,对常用的配色进行了整理

2024-03-06 11:45:37 328

原创 Qt 常见的 QProgressBar 样式

在很多场景中都会用到进度条,比如:文件拷贝过程,软件更新等。本文对常见进度条的样式进行了整理

2024-02-28 08:53:56 666

原创 Qt QCustomPlot 鼠标悬浮提示

使用QCustomPlot绘图时,相信大多数童鞋们都会有类似的诉求:希望鼠标移动到节点时,可以显示该节点的数据。这里转载了一篇关于 鼠标悬浮提示 的一篇文章,并对该文章涉及的代码经过了整理,经实践证明是可行的。

2024-01-31 17:16:10 739

原创 Qt SQLite3数据库加密 QtCipherSqlitePlugin

在客户端软件开发过程中,基本都会涉及到数据库的开发。QT支持的数据库也有好几种(QSQLITE, QODBC, QODBC3, QPSQL, QPSQL7),SQLite就是其中之一,但这个 SQLite 是官方提供的开源版本,没有加密功能的。如果对于数据保密性有要求的,那么就要考虑对数据库或者数据本身进行加密了。最好的选择或许是对数据库本身进行加密(既不会暴露表结构,也不会暴露数据细节)

2024-01-29 15:25:51 1220

原创 Qt QRubberBand 如何实现鼠标框选控件

QRubberBand类提供了一个矩形或直线,可以指示选择或边界。常见的模式是结合鼠标事件来执行此操作。本文将使用框选QCheckBox控件,来演示QRubberBand是如何配合鼠标进行工作的。

2024-01-16 11:49:20 638

原创 vs2008 fatal error C1083: 无法打开包括文件:“atlapp.h”: No such file or directory

一般情况下,只需要保留压缩包里的 include文件夹即可。把include文件夹解压到某个目录(比如说你的vs安装目录:C:\Program Files\Microsoft Visual Studio 9.0),然后在编译器中设置头文件包含目录就可以了

2024-01-10 09:25:54 456

原创 Qt Creator 常用快捷键

Qt Creator 常用快捷键一览表,各位有需要的盆友们敬请收藏好!

2024-01-08 15:26:31 638

原创 Qt undefined reference to `vtable for xxx‘

在编译QT代码时,出现 undefined reference to xxx::entered(),通过鼠标双击QtCreator“问题栏”中的该行,则会跳转到发送信号的代码所在行。与上述代码一同出现在“问题栏”的还有 undefined reference to `vtable for xxx’。

2024-01-04 13:52:44 581

原创 C++ 大数相加

首先,我们需要搞懂什么是“大数”。一般而言,大数往往说的是数据长度可能很大,int、long、long long无法存放。比如说:在16位的机器中,unsigned int的最大长度为 2^16 - 1(也就是65536-1=65535)。但是现实中,非常可能会遇到比这个数字更大的数字运算,所以也就是为什么会有标题所说的“大数相加”了。

2023-11-17 17:26:26 416

原创 QT blockingFilter blockingMap blockingMapped

当mapFunction被并发调用时,一次只有一个线程会调用reduceFunction。reduceFunction的调用顺序由reduceOptions决定。按顺序为每个项目调用mapFunction一次。每个mapFunction的返回值被传递给reduceFunction。主要作用是筛选出符合条件的项值结果集,并与之替换原有序列列表。不直接修改容器的每一项,而是将处理后的结果返回一个新的容器。可以直接修改容器的每一项。

2023-11-07 10:51:57 311

原创 QT 点击窗口外区域 当前窗口自动关闭

想要通过弹出自定义窗口展示自定义的一些信息,同时也希望像右键菜单一样(点击非菜单区域,菜单自动关闭)的效果,那么你可以按照以下两种方式进行尝试:

2023-09-15 15:43:45 846

原创 QT 如何清空layout中所有控件

需求时这样的:根据配置动态增加一些控件到指定的布局中,但是在添加控件到布局中时,需要先把布局中的控件都删除。

2023-09-01 16:40:24 1528

原创 QT 解决提升控件后提示 No such file or directory

在QtCreator中,给控件做提升时,提示“No such file or directory”,很明显,QtCreator找不到自定义控件文件。自定义控件的文件,则是放在widgets目录下面。

2023-06-04 12:12:59 958 1

原创 QT 如何制作桌面日历

在Windows桌面,大概都见过桌面的小组件(天气、日历、代办事项等),在用户使用“Win+D”组合键显示桌面时,这些组件仍可以显示在桌面,并不会最小化或者隐藏。那么这是如何实现的呢?其实代码实现也很简单:只需要将程序主窗口的父窗口设置为桌面就可以了,程序在运行的时候,也不会在任务栏出现。

2023-05-31 10:06:07 307

原创 QT 线程安全的单例模式(使用Q_GLOBAL_STATIC实现)

Qt提供了宏 Q_GLOBAL_STATIC(官方说明文档:[https://doc.qt.io/qt-5/qglobalstatic.html](https://doc.qt.io/qt-5/qglobalstatic.html) ), 用于创建全局静态对象。鉴于此,我们可以通过这个宏就能轻松实现单例(且线程安全)。

2023-05-11 16:52:06 725 1

原创 QT stackUnder 用法小结

stackUnder是什么意思?根据官方的解析,简而言之一句话:把窗口的小部件放置于父窗口的堆栈窗口中。本文将通过一则简单的示例,来具体解析stackUnder该如何使用。

2023-04-24 17:00:10 999

原创 QT setBuddy 用法小结

将此标签的好友(窗口其他小部件)设置为好友。当用户按下此标签指示的快捷键时,键盘焦点将转移到标签的好友小部件。好友机制仅适用于包含一个字符前缀为“&”的文本的QLabels。此字符被设置为快捷键。

2023-04-24 16:09:14 591

原创 QT 如何让QLineEdit的文字从最左边开始显示

当QLineEdit的文字长度超过了控件宽度,一般而言(控件文字设为靠左对齐),用户只能看到这一长串文字的后半段部分。但是如果想让QLineEdit从最左边开始显示字符串内容呢?举个例子,"abcdefghijklmnopqrstuvwxyz0123456789"这一长串字符串,在QLineEdit中显示时,可能只能看到“0123456789”,但是实际用户可能想优先看到字符串前半部分。

2023-04-24 15:28:36 1161

原创 C++ 什么是BCC校验

BCC(Block Check Character),俗称异或校验。BCC的实现方法:将所有数据都和一个指定的初始值(通常是0)异或一次,所得结果为校验值。BCC一般只是用来排错的,并不是加密算法。

2023-03-25 21:07:10 831

原创 QT 如何提高 Qt Creator 的编译速度

如何提高编译速度,貌似是一个老生常谈的话题。对于Qter而言,如何提高QT Creator 的编辑速度是一直都是大家所期盼的。本文也是查阅了各路大神的方法后整理出来的,希望对各位有所帮助。

2023-03-20 10:44:11 1536 1

原创 C++ 如何让代码在main()函数之前或者之后执行

程序最早执行的函数其实并不是main,在main函数之前会有一系列初始化的操作(通常是由链接器等完成的)。比如在windows中,这个函数是mainCRTStartup,这个函数是链接器执行以初始化运行时库的,此函数又会调用CRTInit函数,该函数会对C全局变量、C内存分配以及C++中的全局类对象和构造函数进行初始化工作。

2023-03-15 15:56:23 988

原创 QT 常用控件类型命名参考

代码规范主要包含:命名、版式、注释等几个方面。其中命名包括变量、类、方法、文件名、数据库、表、字段、接口等方面。版式包括缩进、换行、对齐、大括号、循环体、逻辑判断等方面。注释包括文件注释、类注释、方法注释、参数注释、变量注释、代码片段注释等。

2023-03-09 11:14:40 2261

原创 QT 如何知道用户点击 QTextBrowser 中的具体链接地址

在通过鼠标点击 QTextBrowser 中的链接地址时,如果是希望使用外部浏览器打开链接地址,只需要添加一行代码。但如果是想知道用户点击的具体链接地址,则需要设置。

2023-02-07 11:23:18 338

原创 QT 如何设置 QCompleter 样式

在使用QCompleter,一般都会面临两个问题:1、如何设置Completer的行高;2、如何设置Completer的样式。本文将一次为你解答,顺便讲讲ComboBox设置Completer时需要注意的事项。

2023-02-02 09:56:37 1081

原创 QT 关于全屏 与 退出全屏

在某些场景(比如说:车机系统、医疗仪器等)可能需要确保软件的全屏显示,本次探讨的是如何实现全屏与退出全屏。

2023-01-31 17:34:24 1430

原创 QT QCompleter 用法小结

QCompleter类提供基于项模型的补全功能。您可以使用QCompleter在任何Qt小部件(如QLineEdit和QComboBox)中提供自动补全。当用户开始键入单词时,QCompleter会根据单词列表建议完成单词的可能方式。单词列表作为QAbstractItemModel提供。

2023-01-31 11:20:02 809

原创 QT 如何去除QListView选中item后的虚线框

在使用QListView或者QListWidget时,如果选中其item,会发现边框会出现虚线框,这并不美观!所以,我们需要去掉选中后的虚线框。在查阅各路大神的实现方式后,总结了有三种方法可以去除虚线框。

2023-01-30 10:56:16 1823

原创 QT 如何把外部程序嵌入到QT界面

一个奇怪但又合乎现实需要的需求,就是把外部程序嵌入到本窗口内,实现外部程序在本窗口的显示。可能外部程序是由其他人开发的,但是想“拿来”作为内部使用,于是乎想把外部程序嵌入到本程序窗口内,让他们更像是一个整体。更有甚者,也可以实现外部程序与本程序之间的通讯。

2023-01-15 09:42:05 5468

原创 QT 如何只允许打开一个 chm 文档

chm文档,大家都不会陌生,很多软件的帮助文档就是chm格式的。我们自己在开发程序的时候,也需要对外提供帮助文档,为了方便用户,经常在软件中就可以打开帮助文档,那么如何只允许显示唯一一个帮助文档呢?

2023-01-12 11:17:00 612 1

原创 QT 如何实现 半透明的 圆角 矩形 窗口

在日常使用的软件里面,有些软件提示用户时,经常会发现有些提示窗口是半透明的。那么如何实现一个可拖动的、半透明、圆角矩形窗口呢?整体思路:将窗口本身设置为透明,然后通过qss或者绘图的方式来实现半透明的效果。

2023-01-11 17:25:36 1247

原创 QT 秒/毫秒 转 时分秒

在日常开发时,经常会遇到计算剩余进度或者剩余时间的问题,比如计算剩余下载时间等等。本篇文章旨在提供几个常用的转换方式供各位参考。

2023-01-09 17:07:46 2839

原创 QT QTimeLine 用法小结

它最常用于通过周期性调用槽来动画化GUI控件。您可以通过将时间线的持续时间(以毫秒为单位)传递给QTimeLine的构造函数来构造时间线。时间线的持续时间描述动画将运行多长时间。然后通过调用setFrameRange()设置合适的帧范围。最后,将frameChanged()信号连接到要设置动画的小部件中的适当插槽(例如,QProgressBar中的setValue())。

2023-01-03 10:51:34 509

DllInjector.exe

1、支持dll注入 2、支持选择目标进程 3、界面美观,操作简单 4、非源码,仅仅提供exe形式的软件 ps:需要源码请联系作者

2020-01-14

wechat_avater.exe

1、使用Python编写的获取微信好友头像 2、将微信好友头像拼接成图片墙

2019-07-10

sqlite3_blob_test.zip

本项目使用vs2008编译,演示代码使用了两种方式实现插入JPG文件: 1、使用原始的sqlite3接口实现 2、使用cppsqlite3u封装的接口实现

2019-05-15

基于winInet的文件上传程序

1、基于wininet的文件上传 2、测试时可使用hfs作为http服务端程序 3、有封装好的类,可直接使用 4、可能因为字符编码问题,需要自行调整

2019-04-04

基于mongoose实现Http Server(多线程)

1、基于mongoose 6.7实现的http server 2、支持多线程(本项目使用vs2008编译) 3、附带mongoose6.7版本源代码,6.7以上的版本,多线程实现方式与现在不一样)

2019-02-14

HTTP 获取网页源代码

1、通过访问URL,获取该URL对应的网页源代码 2、将获取到的网页源代码写入本地文件

2019-01-04

CPictureEx 示例程序

1、CPictureEx 类的示例程序; 2、生成随机验证码的图片并显示; 3、该示例程序基于MFC;

2018-10-12

SpreadSheet的DLL版本(含源代码)

1、修正SpreadSheet的几个错误问题 2、将SpreadSheet封装为DLL(MFC版本) 3、提供了win32程序调用MFC版本DLL的程序示例 4、代码在vs2008下编译通过

2018-07-02

SpreadSheet简单使用实例

1、SpreadSheet是一个Excel操作封装类,使用起来比其他的更为方便。 2、修正了原版SpreadSheet几个错误问题 3、压缩包里面包含了SpreadSheet的简单使用示例。 4、使用vs2008编译通过

2018-07-02

C++的MVC模式简单示例

C++的MVC模式,界面使用VC/MFC编写。对于MVC模式初学者来说,具有较大的参考价值。

2018-04-17

C++获取程序版本信息

通过代码获得程序资源中VS_VERSION_INFO所有信息。

2016-06-15

jsoncpp的简单使用

jsoncpp的简单使用:遍历json所有键值,从字符串中解析json,从文件中读取json数据,写json数据至文件。

2016-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除