- 博客(353)
- 资源 (118)
- 收藏
- 关注
原创 QtConcurrent::run操作界面ui的注意事项(2)
前面的“QtConcurrent::run操作界面ui的注意事项(1)”,末尾说了跨线程的问题,引出了Qt千好万好,就是跨线程不好。
2024-05-06 08:54:06 470
原创 QtConcurrent::run操作界面ui的注意事项(1)
既然是ui界面对象,是给人看的,延时几十个ms,人的眼睛不会有感觉,因此,开一个定时器,轮询这些简单的数值int、float变量,在定时器里去更新ui界面对象,这是最简单的方法;另一种方法是,在调用QtConcurrent::run(this,&MainWindow::doSomeWork)的地方,检查返回值,开一个循环等待完成。上面依然是第一种方式的变种,只不过在循环里,借助了QApplication::processEvents(QEventLoop::AllEvents, 100),避免将ui挂死。
2024-04-29 16:21:07 778
原创 QSqlTableModel的canFetchMore、fetchMore效率太低,需替换
【代码】QSqlTableModel的canFetchMore、fetchMore效率太低,需替换。
2024-04-28 16:11:22 513
原创 mongoose中http server服务器解决“Access-Control-Allow-Origin mongoose”跨域问题
使用mongoose做http服务器,自己构造的浏览器端jquery。
2023-12-29 16:19:16 861
原创 ubuntu几个版本开启或关闭图形界面小结
ubuntu-16.04.7-desktop-amd64(内核版本:Linux 4.15.0-112)ubuntu-18.04.6-desktop-amd64(内核版本:Linux 5.4.0-150)ubuntu-20.04.6-desktop-amd64(内核版本:Linux 5.15.0-88)ubuntu-22.04.3-desktop-amd64(内核版本:Linux 6.2.0-35)
2023-12-04 16:44:28 1095
原创 inet_addr / inet_aton / inet_pton / inet_ntoa / inet_ntop使用小结
【代码】inet_addr / inet_aton / inet_pton / inet_ntoa / inet_ntop使用小结。
2023-10-17 17:26:04 189
原创 【无标题】ethtool程序,从用户态调用内核态调用分析
用户层ethtool使用的是: ethtool-6.5 为例,下载来自:内核层:在内核源码中,VSCode -->【ctrl+p】搜索文件:linux/ethtool.h及 core/ethtool.c,相关实现在这两个文件中。
2023-10-12 16:18:12 333
原创 【无标题】ethtool程序,从用户态调用内核态的对照分析
内核层:在内核源码中,VSCode -->【ctrl+p】搜索文件:linux/ethtool.h及 core/ethtool.c,相关实现在这两个文件中。--> ops->get_drvinfo #这个函数是 struct ethtool_ops 结构体中,需要自己实现。--> ops->set_phys_id #这个函数是 struct ethtool_ops 结构体中,需要自己实现。这里以 .opts = "-p|--identify"为例,设置网卡点灯时间。
2023-10-12 16:15:23 305
原创 编译Linux驱动时,源码里的函数是否支持当前linux?
当从网上下载下来一些linux驱动,尝试在自己的当前linux环境中编译时,可能遇到一些诸如“implicit declaration of function ‘xxxx’错误,这是源码里一些函数在当前的linux环境没有。如何判断是否有没有上面报出错的函数?
2023-08-21 16:52:15 72
原创 在飞腾麒麟linux上编译安装tcpdump小结
(注意:操作之前,当前系统是否有当前时间,如果无当前时间则指定一个当前时间,类似下面命令。【免费】在麒麟Linux下编译所需要的四个源文件资源-CSDN文库,3 使用tcpdump。
2023-08-21 11:17:15 801
原创 VS2019生成的DLL,给QT(MinGW版本)使用的小结
c 为了产生lib文件,在VS2019工程里添加def文件,这样的目的是生成DLL后导出的函数名为add,而不是乱七八糟的添加@各种前缀;还有一个目的是生成DLL的同时,还会生成lib文件,即如果不添加def文件,默认是不会产生lib文件的。a 基于生成一个DLL的工程(要注意生成是x86,还是x64的,需要和后面的QT的App工程对应),这里不多解释了,网上多的是;注意,上述的cpp实现文件的函数名前,不要加extern "C"。(注意,这里添加的是lib文件名,测试引用DLL文件名也可以!
2023-08-16 11:46:42 978
原创 Qt编写测试类项目时涉及到测试流程的小结
用Qt编写一些涉及到步骤类的程序,例如,有这样一个需求,用程序去控制程控一台电源,反复给一块带测试的板卡上下电,检查被测板卡能否正常启动(正常启动的标志,是通过网口能否ping通)。第三个思路,是直接在界面按钮的【开始测试】里写步骤流程,你会说那不会把GUI给耗死嘛,是的,自己写一个这样的延时Sleep函数,让它自己去卷吧,反正GUI界面不卡就行!首先考虑到使用多线程,但是多线程有一件麻烦事,就是“跨线程调用”,但是又肯定在线程里去处理网口、文件等的读写,没有什么好的解决办法;
2022-11-26 22:47:52 345 1
原创 Qt的多窗口程序中子窗口大小位置管理
2、处理 MainWindow::resizeEvent事件,见下面的注释,可以自己调整子窗口的起始位置,比如想要横平铺,form1的x=0,y=0,form2的x=w/2,y=0即可,宽高也要适应MainWindow的大小。1、子窗口的创建及显示:假设有两个子窗口,form、form2,在MainWindow构造函数中,
2022-11-18 19:17:39 1551
原创 Qt的qApp->quit和QMessageBox一块踩过的坑
项目中使用MainWindow框架基础上做开发,在MainWindow的构造函数中,需要做各种资源、配置、外设等的的初始化,如果不成功,给出弹窗提示报错,应该直接退出程序。按照网上搜索,Qt的程序在任意处想要退出使用了qApp->quit,发现该操作并不是真正的退出,后续程序继续执行,如果调用了MessageBox,会导致MessageBox闪退。在窗体MainWindow构造函数中正确的退出程序方法:即便如此,还需要检查任务管理器中(Windows平台),程序是否真正退出。
2022-11-18 10:32:34 758
原创 Qt的QSlider一边更新滑块进度,一边使用滑块数值的冲突解决
在项目中,使用QSlider,需求是:一边拖动slider读取滑块位置去设置一个处理的起始进度(读取),一边从处理的进度中送上来的值,来更新slider的滑块位置(写入),这两个操作应该是互斥的,否则用户在拖动slider滑块时,又被送上来的值更新,滑块位置变来变去,体验非常不好。这个问题的解决思路:从一个处理中送上来的值,不要直接更新slider滑块,而是去更新一个数值类型的全局变量。把更新slider的动作放到一个定时器中,靠定时器的开启和关闭来决定什么时候更新滑块的进度。
2022-11-16 11:41:07 752
原创 Qt的QProgressDialog使用两条总结(去掉帮助和关闭、设置尺寸)
【代码】Qt的QProgressDialog使用两条总结(去掉帮助和关闭、设置尺寸)
2022-11-14 16:15:51 1458
原创 Qt如何QProgressDialog如何屏蔽按键Esc及空格键
"\u001B"就是27,即Esc的键值。由此看出,按键Esc首先触发的是“QEvent::ShortcutOverride”,因此,不能仅简单的处理KeyPress事件。2、子类cpp实现:(这里仅屏蔽Esc,空格键类似,自己添加即可)
2022-11-14 15:07:20 1340
原创 qt中基于控制台的程序,如何实现套接字信号-槽方式的接收?(使用lambda语法)
一般认为,qt中传统的【信号-槽】都是配合类一起使用的,如果仅仅写一个简单的基于控制台的测试程序,如何实现呢?这里以QUdpSocket为例,在控制台程序中使用lambda语法将接收处理函数直接写在【信号-槽】里,好处是简化了设计,不好是语法晦涩难懂,但一定抛砖引玉://创建udp套接字QUdpSocket *udpSocket = new QUdpSocket();udpSocke...
2019-09-19 18:14:35 1127
原创 Linux下有用的 myprintf 函数
输出如:2019-09-09 18:29:30:391 [test1.cpp-> myprintf-> L34] hello: 8898,即带了精确到毫秒级时间的printf,对调试时序逻辑的程序非常有用(如多线程时序同步),用法和普通的printf一样:#include <sys/time.h>#include <time.h>#inclu...
2019-09-19 17:57:57 445
原创 opengl编程指南第9版源码编译注意事项
1. 到:https://github.com/openglredbook/examples 下载完全版的源码examples-master.zip,大小有131MB左右,不要下载缩略版的,否则\bin\media里面会缺少一些资源文件,无法实现文章中的一些功能;这里百度盘备份了一份:https://pan.baidu.com/s/18NMwFfFZRl-3Dp317hrBag2. 编译会用到...
2019-01-06 11:52:57 1972 1
原创 ffmpeg编程:读取摄像头信息,保存为裸yuv420p、yuyv422视频流
1. 源码下载:https://download.csdn.net/download/dijkstar/108984622. 编程环境使用Windows下的QT5.11 minGW32,源码中已经放好了fmpeg的bin、include、lib;3. yuv420p:指的是 【planar YUV 4:2:0, 12bpp】,一帧图像的大小为1.5倍的长×宽;它的存放位置见源程序描述...
2019-01-05 22:49:57 3644 1
原创 QT5编译和使用QFTP记录(qt5.11.2 mingw53_32环境)
1. 下载qtftp工程的源码:https://pan.baidu.com/s/1GQZHOwVBke0EgiH_0LVMJQ,并解压;2. 下载ActivePerl5_64:https://pan.baidu.com/s/1IyGA558PT8xAut4pLGUSWQ3. 编译qtftp源工程:进到刚刚解压的qtftp目录,在命令行cmd中:C:\Qt\Qt5.11.2\5.11.2\m...
2019-01-04 21:19:25 1599 2
原创 右键添加cmd命令行
用记事本编辑一个下面内容的文件,文件名就叫“cmd右键打开.reg”:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\folder\shell\cmd] @="CMD右键打开"[HKEY_CLASSES_ROOT\folder\shell\cmd\command] @="cmd.exe /k cd %1"双击这个...
2019-01-01 09:32:10 739 1
原创 squeeze函数的意义?
matlab或者numpy中squeeze函数的意义:去掉矩阵中维数为1的条目,注意会减低矩阵的维数,但不会减少元素的数目。以matlab举例:x(2,3,4)=100; % x是一个三维的数组size(x)ans = 2 3 4若:y=x(2,2,:) % 取出x的第二行、第二列上的所有元素,赋值给数组y,注意y的维数仍为3size(y)ans...
2018-09-14 23:16:51 3635 1
原创 Qt在编译程序时,出现“ has modification time int the future”错误的解决方法。
如题,是当前的计算机日期没有设置正确,使用命令设置好日期时间即可: date -s "2018-07-07 12:12:09"
2018-08-30 11:13:26 12035 1
原创 CentOS6.6通过yum升级gcc/g++至版本4.8.2(最简易方式)
近日在一台CentOS6.6的机器上成功安装了QT5.7,但在编写测试程序时,发现无法识别“gun++11”语法,检查当前CentOS6.6的gcc版本为:4.4.7[root@123 bin]# gcc -vUsing built-in specs.Target: x86_64-redhat-linuxThread model: posixgcc version 4.4.7 20...
2018-08-30 11:09:07 12494 3
原创 tcp发送不“粘包”的处理(qt和linux)
当使用tcp套接字发送一个很小的数据块时,接收方并不会立即收到,而是等到积累到一定字节后,套接字才会触发相应的接收处理,这种情况并不是我们想要的。我们所需要的是立即响应接收,因此要在发送端做些设置:若使用qt,可直接使用qt库提供的设置方法://socket 是 QTcpSocket 类型的指针socket->setSocketOption(QAbstractSocket::Lo...
2018-08-24 22:31:21 1992 2
原创 嵌入式web服务器shttpd(1)——编译安装
1. 简介:shttpd是一款小型的web server(相比较Apache),但功能却特别丰富,支持CGI、SSL、MD5认证、cookies,不需要配置文件,纯c打造,把需要的功能编译为一个静态库(.a文件),非常适合应用在嵌入式设备中。这个章节介绍如何在Linux(centos)下编译本身及example文件,后面还会介绍与JQuery easyUI相结合如何使用。使用的版本为s...
2018-08-23 16:55:35 6508 1
原创 CentOS 7.2(1511) 内核升级记录
1. 查看当前centos及内核版本:[root@localhost ~]# uname -srLinux 3.10.0-327.el7.x86_64[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) 2. 启用ELRepo第三方仓库,可以将内核升级到最新版本:[...
2018-08-21 16:43:32 1812 1
原创 linux修改POSIX消息队列(msgqueue)的各项限制(最大内存、msg_max、msgsize_max、queues_max)
1.进入 目录 /proc/sys/fs/mqueue/,查看各项消息队列的默认max设置:[root@localhost ~]# ls -l /proc/sys/fs/mqueue/total 0-rw-r--r-- 1 root root 0 Aug 20 23:04 msg_default-rw-r--r-- 1 root root 0 Aug 20 23:04 msg_max...
2018-08-21 14:04:13 9536
原创 QT如何处理在网络或内存中传输含有中文的字符串问题?
大家知道,一个含有中文的字符串,比如“中国你好ABC”,在计算机内存储或者传输,最终转换为二进制数据,那么这个中文字符串在QT中,是如何存储、传输、并恢复的呢?首先,为含有中文的字符串指定编码,这里指定为“UTF-8”,或者尝试“GB2312”//char *codeName="system"; //在Windows上,system就是GB2312//char *codeName="...
2018-08-21 11:39:17 970
原创 QT5处理 json 总结
1. 假设生成这样的json结构,并将其写入文件:{ "北京市": { "区1": "平谷区", "区2": "海淀区", "区3": "朝阳区" }, "广西壮族自治区": "待续", "河北省": { &q
2018-08-21 10:15:59 4649 1
原创 matlab的帮助文档内容,如何复制?
在matlab的cmd中使用:doc fft,出现的帮助文档里,发现无法使用【ctrl+c】来复制里面的代码,其实matlab的帮助文档使用linux复制语法:复制为【Ctrl+Insert】。...
2018-08-20 13:33:33 2500 1
WinXP DDK 2600
2015-01-31
DJGPP(32位的DOS)访问PCI9054
2015-01-17
IRIG-106的文档(2013版)和测试程序及源程序
2014-12-07
WRK-v1.2源文件及VS2008工程设置
2014-09-21
驱动层和应用层交互事件
2014-09-14
2048游戏的VC++实现,分为控制台和对话框两种
2014-06-22
InstallShield6安装工具和chm使用教程
2014-06-15
vc下groupbox和按钮自绘
2014-06-01
SNTP客户端VC源程序,基于PJ Naughter
2014-04-07
验证WD_Sleep函数
2014-03-30
微软串口控件mscomm使用高波特率VC示例程序
2014-03-14
2、4、8、16、24、32位图解析显示
2014-03-09
VC工程清理工具(含源码)
2014-03-02
Xilinx ISE11.1的跑马灯程序,基于Spartan-3AN
2014-02-08
TI的1394OHCI资料整理备份
2014-01-29
ARINC429资料(英贝特HT6302应用Demo及说明书)
2014-01-11
Condor BusTools-1553-API
2013-10-20
《CLR via C#》非托管代码互操作性提到的P/Invoke Interop Assistant
2013-10-16
百合电子的开源项目Easy USB 51 Programer手册
2013-08-27
djgpp203,保护模式的DOS
2013-08-27
allegro 422 游戏包
2013-08-27
在麒麟Linux下编译tcpdump所需要的四个源文件
2023-08-21
Paragon_ExtFS_Windows_42651.rar
2019-06-12
ffmpeg编程读取摄像头信息,保存为裸yuv420p、yuyv422视频流
2019-01-05
用过最好用的C/C++/STLchm格式的帮助文档
2015-09-27
DLL导出自定义消息通知exe执行
2015-09-27
StartIO上机实践
2015-04-06
Programming the Windows driver model中文版chm和第二版光盘源码
2015-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人