- 博客(83)
- 资源 (6)
- 收藏
- 关注
原创 Qt报错dependent ‘..\..\..\..\..\..\Qt\5.14.2\msvc2017\include\QtWidgets\QMainWindow‘ does not exist
解释说这个语法将使makefile包含绝对路径。
2024-04-17 14:10:32
7832
17
原创 Qt通过正则表达式筛选出字符串中的手机号
用户需要聊天记录中含有11位的手机号码进行提醒的功能,所以需要在收到聊天消息后匹配查看是否存在手机号。里面有一个demo可以通过正则表达式筛选字符串中的数字字符,通过一个循环保存到QStringList里面。嘻嘻138830978901333五。在Qt Assistant中查找。
2023-10-10 15:46:21
665
原创 vs code下安装使用plantUml插件
windows下面没有java开发环境安装PlantUml(vs code安装plantUml插件)下载安装包在plantUml官网下载安装包。发现里面是一个jar包。需要安装java development kit。搜了下在windows系统不通过插件的安装方法主要有两种:先安装java开发环境。通过命令行安装。(PlantUML安装与使用)通过choco包工具管理器安装。尝试了第一种,没有成功。本文主要介绍通过choco包管理器安装plantUml在windows下使用choco作为包管
2021-05-12 17:15:48
4702
1
原创 vs2019更新后添加Qt类编译提示error C2653: “XXX”: 不是类或命名空间名称
一、问题描述vs2019更新完16.7.3版本后在工程添加Qt类,编译如下提示:知道是”stdafx.h“的位置不对,但是不清楚默认生成的moc文件怎么会把stdafx.h放在第二句,如下所示:二、分析和解决以前老的工程文件是可以编译通过的。但是这次新的不成。所以逐个比对.h文件的属性设置。发现在强制包含(force Include)里面老的包含两个路径,新的只有”stdafx.h“.将%(Filename)%(Extension)添加进去后解决。三、反思怀疑是qt的插件没有随着vs版本
2020-09-12 15:09:59
2962
1
原创 qt工程编译提示error 1: moc (D:\Qt\Qt5.12.3\5.12.3\msvc2017\bin\moc.exe)
一、问题描述在git导入VS2017+Qt的工程后编译如下报错:Parse error at "IID"error 1: moc (D:\Qt\Qt5.12.3\5.12.3\msvc2017\bin\moc.exe)二、问题分析导入的项目在另外电脑上是可以编译的,也就是说可能配置有问题。代码是没错误的。极有可能是项目属性设置的问题。一开始以为缺少qt的依赖库目录。但是在属性里面手动添加后没有反应。还是提示moc错误。和另外一个工程属性进行了比较,发现属性里面默认有Qt project Se
2020-05-13 00:07:37
8792
2
原创 QTableView实现鼠标悬浮(hover)行高亮显示
QTableView实现鼠标悬浮(hover)行高亮显示需要实现QTableview鼠标悬浮时当前行高亮显示。但是实现的过程中发现一开始的方案不能用,必须捕捉鼠标的move事件通过Delegate自己绘制背景实现。一开始想通过重载Delegate里面的editorEvent捕捉。后面发现鼠标的move事件可以捕捉的到,但是leave事件获取不到,这样就会造成鼠标移出表格始终又一行高亮。后面只能通...
2019-11-29 16:41:24
12479
3
转载 保持简单:纪念丹尼斯•里奇
保持简单:纪念丹尼斯•里奇今天意外看到一个群里分享了阮一峰的这篇文章,深受感触。我们处在飞速发展的时代,每天战战兢兢,焦虑不安,生怕被时代所抛弃。而且最近听到到而立之年的好多小伙伴感慨“搞技术的没什么前途”。人生路上难免会想不通,像黑暗里原型的人,但是总有一些人,像灯塔一样给人们指引。我想丹尼斯里奇就是这样的人。他改变了世界,却一辈子默默无闻。下面就把这篇文章再次贴在下面,激励你我前行。保持自我...
2019-07-31 19:50:56
426
原创 WM_MOUSEWHEEL模拟滚轮事件的说明
最近做一个程序,由于某些数据获取不到,需要控制另一个窗口,模拟点击事件和滚动事件实现。但是过程中点击事件WM_LBUTTONDOWN和WM_LBUTTONUP组成的单击事件能正常的模拟,但是WM_MOUSEWHEEL滚轮事件一直会出现问题。问题描述通过窗口句柄找到的滚动的相对位置没法模拟滚动开发中使用的函数:::PostMessage(hwnd, WM_MOUSEWHEEL, MAKEWP...
2019-07-23 19:59:25
8638
1
原创 VS2017安装Qt插件后发生的“未能正确加载VSIX包”的问题
VS2017安装Qt插件后发生的“未能正确加载VSIX包”的问题问题描述解决方案问题描述在安装完成Vs2017后,在工具的插件和扩展中安装了qt的插件。安装完成启动后提示“未能正确加载VSIX包”,并且后面跟了一个报错的路径C:\Users\zhao\AppData\Roaming\Microsoft\VisualStudio\15.0_3bf6469c\ActivityLog.xml打开路径...
2019-05-08 15:49:46
12283
1
原创 编译go代码提示“\src\runtime\map.go:65:2: bucketCntBits redeclared in this block”问题解决
问题说明2016年末接触了golang语言,而且一开始折腾了一段时间,奈何也是三天打鱼两天晒网的兴致。后面再拾起来,已经是2019年,IT行业早已经变了天。下载了go1.12.4.windows-amd64.msi进行安装后,简单的进行了编译,发现提示如下的错误:# runtimeE:\Go\src\runtime\map.go:64:2: bucketCntBits redeclared ...
2019-04-30 22:01:39
2853
原创 QtableWidget和QTableView实现选中行的冻结——scrollTo
QtableWidget和QTableView实现选中行的冻结在Qt列表的使用过程中,有一个列表是按照时间先后顺序瀑布流一样的刷新列表。如果并发量过大,可能列表刷新速度很快,用户如果想点击某条事件查看详情,一瞬间就被刷到界面之外了。为了解决这个问题,需要用户点击时实现列表还是在刷新,但是页面中一直存在用户点击选项这样的功能。一、目标后台数据一直刷新。用户点击列表某行数据后实现行的冻结,点...
2019-03-30 11:24:56
9323
原创 Vs2015下编译CTK框架
2019年2月来的猝不及防,一年一年过得真快,留不住时光,只能通过自己的书写留下残存的记忆。以前没有感觉,年龄越大,越感觉记录的重要性。在C++的开发道路上已经走了有段时间,最近才感觉自己掌握的太少。开发个简单的客户端什么的,真的没什么技术含量。但是自己又深入不下去。希望来年能多看几个开源的代码,ReView自己以前老的代码。不要以为冰山只有水面上的那么大,潜入水中,才能窥得全貌。这里开年第一...
2019-02-13 15:38:37
4823
5
原创 pip安装PyQt5库报错SSL: CERTIFICATE_VERIFY_FAILED
最近发现Qt中对python做了支持,想试下qt for Python。但是通过pip安装PyQt5一直不成功。然后谷歌了下,GitHub上面很多同样的解决的issue。但是无奈英文不行,没看懂。好丢人啊。最后终于发现了问题所在。当时用的安装命令是这个:pip install PyQt5但是出现如下报错:Collecting PyQt5 Retrying (Retry(tota...
2019-01-25 10:51:01
1427
转载 C++框架和库资源汇总
C++ 资源大全关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library...
2019-01-03 11:34:36
319
原创 代码整洁之道-函数
主要解决的问题:怎样让代码易于阅读和理解?怎样才能让函数表达其意图?该给函数赋予哪些属性,好让读者一看就明白函数是属于怎样的程序。短小。函数的第一规则是要短小。第二规则是还要更短小。每个函数都只说一件事。代码块和缩进If语句、else语句、while语句等,其中的代码块应该只有一行。该行大抵应该是一个函数调用语句。函数的缩进层级不该多于一层或两层。只做一件事函数应该做一...
2018-12-27 17:25:10
433
原创 代码整洁之道笔记——有意义的命名
软件中随处可见命名。我们给变量、函数、参数、类和封包命名。我们给源代码及源代码所在目录命名。我们给jar文件、war文件和ear文件命名。我们无时无刻在进行这命名。既然有这么多的命名要做,不妨做好它。下面列出了取个好名字的几条规则。1、名副其实。变量函数或类的名称应该已经答复了以下的问题: 变量为什么会存在,变...
2018-12-24 21:02:52
268
原创 有关win10下安装wireshark找不到网卡的问题。
最近win10更新到了1908,安装了wireshark后找不到网卡,但是在安装的过程中发现会提示已经安装了v10.2-5002版本的pcap,导致4.1.3的pcap安装略过了。但是试着安装了两次还是找不到网卡。网上搜了一些,大体方案如下:第一步1、打开windows设备管理器。2、查看-显示隐藏的设备3、非即插即用驱动程序4、NetGroup Packet Filter D...
2018-12-13 13:55:44
10699
3
原创 外部进程嵌入到Qt进程界面
有时候需要做框架集成的东西,需要把其他客户端像组件一样集成到一个客户端中,类似于一个软件集成的平台客户端,统一用一个中心管理的客户端做类似于控制面板一样的东西去调用不同的软件。此时就必须相应不同的点击图标的事件去嵌入到主界面里面。下面简单的对windows平台上面Qt的界面中嵌入系统自带的计算机程序做简单的说明。一、首先是获取计算机程序的窗口类名称,只要利用的是VS中的Spy++工具,在vs菜
2017-11-14 20:49:19
21369
11
原创 在vs2008下编译openssl用sha256加密
一、按照openssl代码编译环境 1、先下载Openssl源码、Perlfor Win32 下载地址: Openssl源码:http://www.openssl.org/source/ Perl forWin32:http://downloads.activestate.com/ActivePerl/Windows/5.8/ 2、安装perl for win32并解压openssl源码,
2016-06-17 16:38:43
1057
转载 解决 unresolved external symbol 无法解析 _send@16
(1) vc网络编程中遇到一个编译问题,原来是少了WSOCK32.LIB。在 project-->settings-->Link-->Object/Library modules 中加入库WSOCK32.LIB即可。在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。 1.WINSOCK.H: 这是WINSOCK API的头文件,需要包
2016-02-25 09:54:25
1404
转载 QMutexLocker
QMutexLocker用来简化互斥量的锁定和解锁操作。在复杂函数或者异常处理代码中互斥量的锁定和解锁容易出错和难以调试。QMutexLocker就可以应用于这些情况,确保互斥量状态总是定义明确。应该在程序中QMutex需要被锁定处创建QMutexLocker。当QMutexLocker被创建后,互斥量就锁定了。你可以使用unlock()和relock()来解锁和再次锁定互斥量。如果互
2015-03-02 11:55:24
841
转载 YUV格式&像素
一幅彩色图像的基本要素是什么?说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少。一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147200(十进制),也就是3.95M大小。这个大小跟多少个像素点和数据的存储格式有关。下面简述yuv与像素的关系:YUV与像素的关系:YUV是利用一个亮度(Y)、两个色差(U,V)
2015-02-27 15:55:48
745
转载 码率、帧率和I B P帧
以前没有接触视频这一块,对视频这一方面的知识不是很了解。现在了解一下码率和帧率的问题。 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的cbr(
2015-02-02 17:07:57
830
2
转载 H264编码原理以及I帧B帧P帧
前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A,随后的B帧就不编码全部图像,只写入与A帧的差别,
2015-02-02 15:08:18
428
转载 c++中的 extern "C"
比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种形式的代码:C代码 #ifdef __cplusplus extern "C" { #endif /**** so
2015-01-29 10:12:42
404
转载 如何实现类的成员函数作为回调函数
许多程序员都发现,利用MFC或者其它的C++应用编写回调函数是非常麻烦的,其根本原因是回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。通过查询资料发现,其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身
2015-01-23 15:22:34
750
转载 Qt中各个widget前后位置的设置
在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系。 ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),underStack(),hide()函数。 理论为:在Qt中每个widget窗口都维持着自己的一个创建栈(widget's stack.),栈里边存放的
2015-01-22 09:22:50
3389
转载 QT 调用 DLL 方法
Qt调用DLL方法一:使用Win32 API 在显式链接下,应用程序必须进行函数 调用以在运行时显式加载 DLL。为显式链接到 DLL,应用程序必须:? 调用 LoadLibrary(或相似的函 数)以加载 DLL 和获取模块句柄。? 调用 GetProcAddress,以获 取指向应用程序要调用的每个导出函数的函数指针。由于应用程序是通过指针调用 DLL 的函数,编译器不生成外部引
2015-01-16 16:44:53
2779
转载 QT中定时器的使用方法
QT中定时器的使用方法(1)重载timerEvent(QTimerEvent *)函数,然后再在类的构造函数中设置时间间隔 startTimer(50);//单位为毫秒(2)在类的构造函数中设定如下: QTimer *timer=new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(timeoutsl
2015-01-16 11:48:14
2285
转载 C++11 lambda 表达式解析
C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。本文作为 5 月的最后一篇博客,将介绍 C++11 的 lambda 表达式。转载自:http://www.cnblogs.com/haippy/archive/2013/05/31/3111560.html很多语言都提供了 lambda 表达式,如
2015-01-14 14:47:04
395
转载 QMimeData类和实例
QMimeData类提为数据提供一个容器,用来记录关于MIME类型数据的信息QMimeData常用来描述保存在剪切板里信息,或者拖拽原理QMimeData对象把它所保存的信息和正确的MIME类型连接起来来保证信息可以被安全的在应用程序之间转移,或者在同一个应用程序之间拷贝QMimeData对象通产雇佣new来创建,并且支持QDrag和QClipboard对象,这可以使QT管理他
2015-01-12 10:07:27
5154
1
转载 QGraphicsView类
QGraphicsView提供一个显示QGraphicsScene内容的窗口,该窗口可以滚动,可以在构造时候把场景对象作为参数,或者之后使用setScene()来设置view的场景,然后调用了show()函数后,view就可以默认的在场景的中心,显示item,例如QGraphicsScene scene;scene.addText("Hello, world!");QGraphic
2015-01-05 11:40:47
2057
转载 常量指针和指针常量有什么区别
int a;int * const p = &a //指针常量,*p可以修改*p = 8;(OK) p不可以修改 p++(ERROR)int a,b;const int *p = &a;//常量指针 *p不可修改 *p = 8;(ERROR)
2014-12-28 17:22:59
391
原创 Qt实现登录密码框
Qt做登录框,用户名的登录一般用QCOmbobox来实现,密码框一般用QLineEdit,但是用户名的输入和密码的输入都有规定的字符,这就需要我们用正则表达式去筛选字符。对于密码框,还有一点就是密码不能明文显示和选中的问题,下面就提供一些方法解决这些问题。关于输入字符的筛选,我们要用到正则表达式,下面是一则例子:QRegExp regx("[a-zA-Z0-9]*");//正则表达式
2014-12-12 10:16:16
12610
C++日志库-log4cxx-vs2019编译
2022-07-20
log4Qt--qt日志系统
2015-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人