- 博客(45)
- 资源 (8)
- 收藏
- 关注
原创 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
原创 STL vector使用erase注意点
在上面的代码中,erase()被调用后,vec的大小减小了1,但i并没有相应减小。这会导致下次访问vec[i]时索引越界,产生未定义行为。在for循环中使用std::vector::erase()删除元素,需要特别注意迭代器的变化。
2023-06-12 19:17:29 274
转载 使用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
原创 vs2010开启代码折叠功能
默认不开启在工具---选型---文本编辑器---c/c++-----格式设置----大纲显示---大纲语句块---true
2022-07-12 10:28:42 1492
转载 “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->.
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
2022-05-24
WordPress文章可多线程采集插件 自动采集插件Auto Post Pro3.6.3_pass.zip
2021-06-17
Elementor Pro v3.2.2 + Elementor v3.2.3.zip
2021-06-17
docker使用手册
2019-04-30
C语言指针详解
2019-01-16
C C++高质量代码
2019-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人