自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (8)
  • 收藏
  • 关注

转载 绘制一个自定义QComboBox

如果需要下拉框持久化出现,可以重新实现hidePopup,点击item时,不隐藏。

2023-08-15 14:56:52 221

转载 QStyle 绘制一个自定义QProgressBar

【代码】QStyle 绘制一个自定义QProgressBar。

2023-08-10 19:44:36 160

转载 QStyle 自定义QSpinBox外观

【代码】QStyle 自定义QSpinBox外观。

2023-08-09 19:29:32 243

转载 引用、const引用、临时对象

2、实参类型不正确,但可以转换为正确的类型。1、实参类型是正确的,但不是左值。

2023-08-02 15:09:52 64

原创 QTablewidget双击单元格和关闭编辑框分别发出信号

继承QTablewidget,重写mouseDoubleClickEvent。最新开发中,在单元格双击进入编辑态时发出信号,在编辑完成时,再次发出信号。

2023-07-31 10:06:06 1517

原创 小米手环NFC模拟加密门禁卡

2、打开另一台小米手机的小米运动,或者Zepp life,连接手环,打开手环里面的NFC,选择“非加密卡模拟”。3、然后使用小米手环靠近上述步骤1中的小米手机,模拟小米手机的门禁卡。小米手环NFC模拟加密门禁卡会提示“此卡为加密卡,无法模拟”。注意:步骤1中的手机,必须是小米、红米手机,其它安卓手机不行。1、首先找一台带nfc功能的小米手机,模拟加密门禁卡。此时步骤1的小米手机,相当于是未加密的门禁卡)

2023-06-21 14:32:13 3798

原创 【GDB调试】内存检查 gcc选项-fsanitize=address

检查内存泄漏检奎堆溢出检查栈溢出。2、qt pro使用。

2023-06-13 09:39:42 308

原创 STL vector使用erase注意点

在上面的代码中,erase()被调用后,vec的大小减小了1,但i并没有相应减小。这会导致下次访问vec[i]时索引越界,产生未定义行为。在for循环中使用std::vector::erase()删除元素,需要特别注意迭代器的变化。

2023-06-12 19:17:29 274

原创 bash脚本-----在耗时任务中显示旋转器动画

【代码】bash脚本-----在耗时任务中显示旋转器动画。

2023-05-29 12:22:47 75

转载 使用lupdate生成Qt的ts翻译文件

4、.ts文件翻译完成后,使用lrelease xxx.ts命令,生成.qm文件供程序加载,如果程序关联了多个动态库,可能需要加载多个翻译文件。3、使用linguist XXX.ts 打开qt翻译工具。

2022-09-07 17:08:44 1816

原创 给QApplication安装事件过滤器 eventFilter()

考虑对QApplication安装事件过滤器,然后登录按钮控件去判断是否需要退出登录。在一个界面中,要实现一个对鼠标或键盘事件的检测,长时间未操作,则退出登录。首先继承QObject写一个事件过滤类。在main函数注册事件过滤器。

2022-09-05 14:21:45 565

原创 执行shell脚本或者执行linux指令并获取返回结果

运行shell脚本并获取执行结果。

2022-07-26 14:33:36 2384

原创 vs2010开启代码折叠功能

默认不开启在工具---选型---文本编辑器---c/c++-----格式设置----大纲显示---大纲语句块---true

2022-07-12 10:28:42 1492

原创 visual assist 小番茄常用设置

1、函数注释自动生成--选中函数 2、单行注释 3、防止头文件重复包含

2022-07-06 22:18:12 720

转载 “DSO missing from command line”解决及其原理

ld -v 大于2.22$ gcc main.cpp -L./ -Wl,--copy-dt-needed-entries -lAqt 程序,在Pro文件中加入LIBS += -L./ -Wl,--copy-dt-needed-entries

2022-07-05 17:40:28 383

原创 Qt源码之d指针,q指针简单应用(QObject,QObjectPrivate)

详细分析博文https://blog.csdn.net/chengfenglee/article/details/112385402?utm_medium=distribute.wap_relevant.none-task-blog-2~default~baidujs_title~default-8-112385402-blog-7474052.wap_blog_relevant_default&spm=1001.2101.3001.4242.5&utm_relevant_index=11

2022-05-26 10:28:03 356

原创 QT4实现RunCat-------利用QSystemTrayIcon类

最近RunCat非常火热,也在学习qt,尝试用qt实现一下。实现了以下功能,切换CPU 、内存,是否联网,右键菜单,点击弹框、设置开机自启动,切换托盘托表、查看电脑系统信息等void RunCat::initTrayIcon()//初始化托盘{ if (NULL != pSystemTray) { pSystemTray->setIcon(QIcon(":/icon/appIcon.ico")); pSystemTray-&gt.

2022-05-24 18:17:55 182

原创 vs2010使用 Add-in 1.1.0无法打开qtpro文件

最近重新安装qt486和vs2010,并且安装了Add-in 1.1.0打开qtpro时报错Could not parse QTDIR from project file animation.vcxproj很郁闷,qtcreator可以正常打开使用,vs就是不行,网上也没找到解决办法,郁闷了好几天后来尝试在vs2010中把add-in 设置的qt版本改一下,改为qt-opensource-windows-x86-vs2010-4.8.6目录就好了,不能配置成qt目录。...

2022-05-24 14:27:30 434

原创 用正则表达式匹配无符号整数0~4294967295

方法一、用lookbehind1、先匹配0-999999999之间的数字0|^[1-9]\d{0,8}$2、在用环视[1-4]\d(?<!4[3-9])\d{8}(?<!429[5-9]\d{6})(?<!42949[7-9]\d{4})(?<!429496[8-9]\d{3})(?<!4294967[3-9]\d{2})(?<!429496729[6-9])3、合在一起如下^[1-9]\d{0,8}$|[1-4]\d(?<!4[3-9

2022-03-28 16:00:18 1406

原创 QComboBox 单击操作---重写showPopup()、hidePopup()函数

参考如下文章https://blog.csdn.net/weixin_40953784/article/details/91044748

2022-03-25 14:24:59 1366

原创 计算结构体偏移量

方法一、c标准库 <stddef.h>C 库宏offsetof(type, member-designator)会生成一个类型为size_t的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。下面是 offsetof() 宏的声明。offsetof(type, member-designator)参数type-- 这是一个 class 类型,其中,member-desig...

2021-09-30 12:15:29 1088

原创 linux下测试磁盘的读写IO速度

使用dd命令  这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.另外由于这是一个免费软件,基本上×NIX系统上都有安装。首先了解两个特殊设备/dev/null 伪设备,回收站.写该文件不会产生IO/dev/zero 伪设备,会产生空字符流,对它不会产生IObs是每次读或写的大小,即一个块的大小,count是读写块的数量1、测试磁盘写能力dd if=/dev/zero of=/home/用户名/test123 bs=3

2021-09-28 19:23:20 5174

原创 C语言-字符编码转换:UTF-8与GB18030

头文件#include <iconv.h>#include <errno.h>利用iconv函数族进行编码转换 iconv函数族的头文件是iconv.h,使用前需包含之。 #include <iconv.h> 在使用iconv转码的时候,首先用iconv_open获取转码句柄,然后调用iconv转码,转完了后调用iconv_close关闭句柄。iconv函数中:参数cd是用iconv_open调用返回的转码句柄;参数inbuf指向需要转码的.

2021-09-07 12:34:21 4064

原创 [方法二]自定义c/c++程序日志类

此方法是在方法一的基础上改写的。方法一:同一个程序不同类使用需要多次构造对象方法二:使用静态成员变量和静态成员函数,一个程序只需要实例化一次即可。WriteLog.h#ifndef WRITELOG_H#define WRITELOG_H#include <stdio.h>#include <string.h>#include <time.h>#include <stdarg.h>#include <unistd.h>

2021-09-05 17:34:15 175

转载 Fd和命名管道实现shell并发控制

首先我把for循环中的代码用{}包为一个块,然后增加&符号使其后台运行,之后增加wait指令,该指令会等待所有后台进程结束,如果不加wait,程序直接往下走,最终打出的time将会是0。现在程序已经由之前的10秒缩短为2秒,似乎效果不错,不过试想这样一个场景,有1000个这样的任务,如果还是以这种方式执行,机器负载是扛不住的,我们必须想一种办法来控制进程的并发数,那就是管道和文件描述符。首先介绍下管道(pipe):无名管道 它经常出现在我们的命令中,例如cat /etc/passwd | a

2021-09-04 18:24:23 304

原创 shell符号总结

#! 符号能够被内核识别成是一个脚本的开始,这一行必须位于脚本的首行$0 当前脚本的文件名$n 第几个参数,n=3则$n是$3 ,注意,$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时, 需要使用${n}来获取参数。$# 传递给脚本或函数的参数个数。$@ 传递给脚本或函数的所有参数,按空格划分成不同的部分。注意: 如果一个参数中有空格,这个参数将会被 从空格($IFS默认)处分尸"$@" 分隔成单个参数,如"$1”“$.

2021-09-04 18:08:23 359

转载 Qt pro文件---指定临时文件

Qt Creator默认情况下把所有的编译中间文件都生成到debug和release文件夹里。可以在.pro文件中加入:MOC_DIR = ./tmp/mocRCC_DIR = ./tmp/rccUI_DIR = ./tmp/uiOBJECTS_DIR = ./tmp/obj这样,编译时生成的临时文件就按不同类型分类放到项目下的tmp文件夹中了。...

2021-09-04 16:52:27 263

原创 [方法一]自定义c/c++程序日志类

发布程序以后,用户出现问题,又不能让他们查看终端打印,只能写日志文件,自定义了一个简单的类,可自定义每一句是否需要输出值文件。WriteLog.h#ifndef WRITELOG_H#define WRITELOG_H#include <stdio.h>#include <string.h>#include <time.h>#include <stdarg.h>#include <unistd.h>#define FILE

2021-09-04 16:40:43 422

转载 QT技巧 - QT中如何清空layout中所有控件

delete之前必须setParent(NULL),否则程序可能出现意想不到且很难定位的错误,切记、切记、切记!!!1.前言layout中的控件可以通过addWidget增加。但是有个问题:增加之后如何删除,并且使其立即生效是一个问题。2.实现原理QWidget有一个setParent方法,当setParent(NULL)时就会使其不在相应的界面上显示。如果不设置,即便删除了layout,QWidget还是会显示在界面上3.代码实现QHBoxLayout horizontalLayout

2021-09-03 15:13:08 9006 5

转载 [转]关于i++和++i以及左值,右值

原本一直对i++和++i的区别不是很在意,觉得i++就是先用了i的值(用于赋值之类的操作),再i自加1. 而++i就是把i的值先自加1再用作其他操作. 很多人都问类似于j=++i+++i+i;之类的题目,个人觉得除了有些变态的学校的变态的考试会考.其他根本用不到.如果你在实际写代码的时候这样写,不但是给自己找麻烦,以后代码维护时,你也会被人在心里诅咒很久的.... 貌似跑题了,汗.... 反正以前就一直没在意这个. ...

2021-04-27 16:33:28 185

转载 [转]源代码统计工具集合

最近想在github上寻找一个合适的项目进行学习,然后发现每次都要完全下载并在工具里才能查看代码行数,给我的寻找带来了很大的不便,经查询后发现一些方法,但网上的很多教程都不够详细,因此在这写我解决这个问题的详细过程,希望给大家带来帮助。一、下载安装CLOC首先我们要进行代码统计工具CLOC的下载安装下载连接:https://github.com/AlDanial/cloc/releases我在写博客时最新的版本是1.88,所以这里就下载1.88版本的,大家可以自行下载...

2021-03-18 19:27:38 1109

转载 [转]C++中STL用法超详细总结

目录1 什么是STL?2 STL内容介绍2.1 容器2.2 STL迭代器2.3 算法2.4仿函数2.4.1概述2.4.2仿函数(functor)在编程语言中的应用2.4.3仿函数在STL中的定义2.5容器适配器2.5.1 stack2.5.2 queue & priority_queue3 常用容器用法介绍3.1vector3.1.1 基本函数实现3.1.2基本用法3.1.3简单介绍3.1.4实例3...

2021-03-18 17:16:51 257

转载 [转]【C/C++】STL详解

学校并未教授C++, 当初接触的C++的STL, 也是皮毛而已。结合对Java的集合框架等内容的认识,回顾这部分内容,收获很大。文章目录概述 STL六大组件简介 三大组件介绍 1. 容器 2. 算法 3. 迭代器 常用容器 1. string容器 string容器基本概念 string容器常用操作 2. vector容器 vector容器基本概念 vector迭代器 vector的数据结构 ...

2021-03-18 17:10:45 167

原创 STL 容器 vertor元素为结构体指针释放内存

结构体如下typedef struct _menuInfo{ int menu_type; std::string menu_name; int menu_id; std::string menu_libName;//std 对象}MenuInfoStruct;typedef std::vector<MenuInfoStruct*> MenuInfoStVec;在vector加入结构体指针因为结构体里面有std::string对象,不能使

2021-01-28 16:01:02 452

转载 [转]linux下QSettings读写配置文件

今天才注意到QSettings类已经提供了读写配置文件的方式,之前是启动时读取文件、关闭时写入配置,需要手动去打开创建指定位置的配置文件,然后查找修改指定字段的文本内容,也是够麻烦的了。QSettings的使用也是非常简单和方便的,当然我也只是今天简单测了一下,没有把帮助文档里的所有例子都使用一下,不过单纯的读取和写入配置文件已经能满足我日常的工作了,在这里也是记录下:先构造一个QSettings对象,传入两个值:公司名称和程序名称之后就可以通过这个settings对方去读取和写入配置文件.

2021-01-22 16:49:44 563

原创 自定义程序等待提示框

在读取文件或者某一次操作需要一段耗时,我们可以在主程序添加等待提示框,提示用户正在操作,请稍候思路是,使用QDialog 设置setWindowFlags属性为Qt::FramelessWindowHint无边框然后在dialog上添加一个QLabel在需要的地方exec()操作结束就调用accept()关闭提示框.h文件 QDialog dialog; QLabel labinfo;.cpp文件构造函数中 dialog.setWindowFlags(Qt::Fra

2021-01-21 14:31:49 171 1

原创 QTableView 添加进度条、下拉选择框、日历、图片、文字等(QAbstractItemDelegate)

本文主要记录QTableView 使用代理添加进度条、下拉选择框、日历等,并实现复制粘贴,右键菜单等,效果如下图所示,最后有动态展示。图片说明1:图中红色1处是√和×,双击可以相互切换显示2:图中红色2处是Qspinbox,实现整数输入3:图中红色3处是QDateTimeEdit4:图中红色4处是QCheckBox5:图中红色5处是进度条6:图中红色6处是下拉选择框继承QStyledItemDelegate,实现编辑器控件和项目渲...

2021-01-17 18:36:00 6103 2

转载 [转]typedef常见用法和函数指针用法

在看如下的代码是有几个知识点不清楚, 这段代码来自关于Qt 之在运行时加载共享库 /*QFunctionPointer QLibrary::resolve(const char *symbol)Returns the address of the exported symbol symbol.The library is loaded if necessary.The function returns 0 if the symbol could not be resolved or if the li

2021-01-17 09:36:55 261

转载 [转]详解QT下拖动操作Drag-Drop的实现

QT下实现Drag-Drop是极其容易的,下面给大家介绍一下。所谓拖动,自动有一个源窗口,一个目标窗口,不过有时候源窗口与目的窗口是同一个窗口。源窗口在鼠标Press的时候,记录起始点为dragPosition(此为成员变量);在Move的时候,检测与起始点的距离,当拖动一定距离的时候,认为开启了一个拖动操作。按下面例子,鼠标会为成拖动的样式,并有一个图片显示被拖动的物体的轮廓。void HostTree::mouseMoveEvent ( QMouseEvent * event ){ i

2021-01-17 09:36:23 1183

转载 [转]Qt IPC 进程间通信 的简单使用 QLocalServer与QLocalSocket

说明:1.QLocalServer继承自QObject。2.QLocalServer提供了一个基于本地套接字(socket)的服务端(server)。3.QLocalServer可以接受来自本地socket的连接。4.server通过调用listen(),监听特定的连接。5.newConnection()是在每次server与client连接上时所发出的信号。6.nextPendingConnection()将等待中的连接当作一个已连接上的QLocalSocket。返回值是指向QLoc.

2021-01-16 20:16:32 407

QT4实现RunCat-------QSystemTrayIcon

最近RunCat非常火热,也在学习qt,尝试用qt实现一下,主要是动态托盘效果的实现,和微信、QQ收到新消息类似,定时切换ico。详细见博文 https://blog.csdn.net/zzxfbdfhbdfhbdb/article/details/124946481?spm=1001.2014.3001.5502

2022-05-24

WordPress文章可多线程采集插件 自动采集插件Auto Post Pro3.6.3_pass.zip

WordPress采集插件,WordPress自动采集发布插件WP-AutoPost-pro,可采集任何网站内容并自动发布到WordPress站点,使用最简单,功能最强大的WordPress采集插件 WordPress自动采集发布插件WP-AutoPost-pro专业版3.6.3下载,亲测可用

2021-06-17

Elementor Pro v3.2.2 + Elementor v3.2.3.zip

Elementor是目前最强大的页面构建器。完全拖放式可视化编辑,是WordPress中最快,最直观的编辑器。只需拖放即可自定义,对于新手非常友好,非常易于使用和掌握。无需编码; 生成的页面代码紧凑且针对每个设备进行了优化,Elementor有300多种精美的模板,从几十个小部件中进行选择,以创建你需要的任何内容:按钮,标题,表格,只要你能想到的,没有什么是你不能做的。

2021-06-17

qt样式表.详细教程.zip

样式表的葵花宝典,得到以后啥都会设置,真的超级良心,还帮你们每个书签标好,真的超级好

2021-01-21

C语言学习文档PDF

详细的c语言学习资料,从入门到进阶,对于数组、指针、函数都有很详细的介绍,还有案列,易错点介绍,都是学校不会讲到的内容

2020-12-05

docker使用手册

此手册是我在学习使用docker期间整理的,包括docker1.7.1和docker18.03的离线安装和相关问题解决方法,里面包括docker1.7.1离线安装包和docker18.03离线安装包以及内核3.1和内核4.4离线升级安装包。包括镜像下载、删除、自定义镜像等,以及容器等相关操作,都是比较基础但是很实用的操作命令。

2019-04-30

C语言指针详解

我们今天来攻克C 语言指针。 我并不打算使用过于官方、正统的语言来讲解指针。因为如果我这样做,就失去 了做这个教程的意义。如果需要,大家完全可以从各大教材、网站找到对指针正 规的解释。但无疑,这种正规、一丝不苟的解释却没法带领大家,尤其是学习C 语言的新手,来轻松的领悟指针的本质。所以想要刻意刁钻的人请绕道,这个教 程只适合新手理解指针。

2019-01-16

C C++高质量代码

软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的 C++/C 程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面 N-1 个读者的建议。

2019-01-16

空空如也

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

TA关注的人

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