- 博客(995)
- 资源 (4)
- 收藏
- 关注
原创 Qt信号和槽记录
不要写为connect(&signalObj, SIGNAL(SignalClass::MySignal(QString)), this, SLOT(SlotClass::MySlot(QString))),如果写成这样会报no such signal错误。// 不能加const,QString和&之间不能留空格。
2024-10-18 15:46:44 268
原创 Qt QString 增、删、改、查、格式化等常用方法总结
Qt QString 增、删、改、查、格式化等常用方法总结_qstring 格式化-CSDN博客
2024-09-28 15:14:03 122
原创 QTimer备忘
你可以把QTimer看作是一个能够产生定时事件的对象。当你启动一个QTimer时,你实际上是在告诉事件循环:“请在指定的时间后向我发送一个定时器超时事件(Timer Timeout Event)”。2、虽然是在当前线程中执行的,但即便把定时器的执行频率设置的非常高,也不会导致当前界面无响应,除非在定时器的处理函数中持续占CPU(例如sleep循环)。1、定时器是在当前线程中执行的,实际上,它处于当前线程的事件循环中,如果想定时器放在单独的线程中执行,可以借助于moveToThread实现。
2024-08-23 14:25:15 184
原创 设计模式总结
为访问者提供服务,比如说家里来客人了,有各种吃的,你不是让客人自己一个一个直接去拿,而是拿个果盘放好各种吃的,把果盘提供给客人。可以看做是用一扇门挡住内部实现,比如有A、B、C等等一大堆类,统一提供一个X类,由X类引用它们,客户只用X类。简单说就是有个A类,但是出于某些原因,客户无法直接调用A类或者A类无法完全满足客户需求,于是写个B类,B类中引用A类。类实现一个功能可以提供不同的策略,说白了就是不同的方法。A类提供统一接口,但是A类不具体实现,由B类、C类等具体实现,A类维护一个它们的指针。
2024-06-07 09:47:03 317
原创 modbus和字节序备忘
使用libmodbus库时,调用它的uint16_t相关接收函数时,它自动对每个字进行了高低字节转换,因此读到的数据中每个字的两个字节跟发送端顺序是对调了的,这一点尤其注意。modbus协议规定是按大端传输(见英文版说明),但是确切的说,它只是借用“大端”这个术语以表示它是由左往右依次字节传输的,因为毕竟大小端只有到了数值层面才有意义。HACH 是按小端赋给modbus的,因为设备多数都是小端平台,因此可以认为程序就是直接把变量赋值给modbus的。// 输出的是大端,即跟内存中顺序相反。
2024-02-01 18:45:29 1230
原创 基于拨号网络的域名解析
(1)确认系统中/lib是否有libnss_dns* 和libresolv*相关库。(2)拨号后,如果resolv.conf不是产生在/etc下,则手动建立软链接。
2023-11-28 14:51:45 447
原创 Git合并分支
1.保证本地my分支已推送至远程,即本地my分支没有新修改内容。2.切换本地分支为master,拉取master最新代码至本地。4.将master分支合并到本地my分支。5.将本地my分支推送至远程。3.切换本地分支为my。
2023-08-18 15:22:42 68
原创 C++:undefined reference to vtable
编译通过,编译链接时始终提示C++:undefined reference to vtable....,网上基本都说是有虚函数在子类中没定义,但我确实所有子类都实现了。其中提到了RTTI需要修改gcc的编译参数,突然想到我程序中对这些类的调用采用了智能指针,应该是类似的原因,于是cmake重新生成makefile,成功解决。最近遇到一个问题,编写了一组继承关系的类,并且包含有纯虚函数、虚函数。
2023-08-08 11:03:37 169
原创 C++中使用extern引用其它文件中定义的变量
假如存在A.h/A.cpp和B.cpp。如果在A.cpp中定义了int h,那么想在B.cpp中引用h的话,需要在A.h中extern int h,然后在B.cpp中include "A.h",而不能直接在B.cpp中extern int h.
2023-08-08 10:54:38 172
原创 c++11列表初始化
2.对于类对象的初始化,{}相当于构造函数(),其中也是写构造函数参数,当然,得有对应定义的构造函数。如果是空的{},相当于调用默认构造函数。(只要是在构造对象的地方,我们都可以用{}初始化语法为构造函数提供参数,<C++程序设计语言>17.3.2)1.{}前有无=没区别。
2023-07-27 12:49:45 74
原创 Linux异步和非阻塞
一般来说使用select和poll结合非阻塞的文件指针可以对应大部分情况,但是某些时候 需要使用异步的文件指针。比如:如果一个函数处理数据,但是处理时间很长,在其处理的时候 我们需要运行这个函数的进程及时响应网络事件或者内核信号,这时就需要将其置为异步。标记,该标记会改变read,write和同类函数的行为,使得在fd还不能IO时立即返回而不是hang住。标记,该标记决定fd可以IO时进程是否会收到SIGIO和SIGPOLL信号。异步: 使得拥有文件指针的进程或者进程组能够立刻收到内核的SIGIO信号。
2023-06-08 08:45:41 1073
原创 Qt setMouseTracking不起作用
在代码中调用setMouseTracking(true)不起作用,发现必须在ui部件属性里设置才起作用。
2023-05-16 15:36:35 256
原创 Qt防止自动获取焦点
由于获取焦点会触发输入法弹窗,为了防止一些部件自动获取焦点时导致输入法弹出,可以设置部件的焦点获取方式为setFocusPolicy(Qt::ClickFocus);
2023-04-05 14:53:51 131
原创 Qt关于输入法的备忘
(1)界面上的‘地球’按钮可以切换中/英文,但是默认编译出的只有英文,如果要编译中文,需要在工程属性的Build Steps为qmake增加CONFIG+="lang-en_GB lang-zh_CN"(但是我加上了,虽然‘地球’按钮有‘简体中文’选项了,但点击字母还是不出现汉字)。2、qtvirtualkeyboard源码在Qt源码根目录下,可以直接用QtCreator打开工程编译。(2)解决编译时GLES2/gl2.h找不到的问题,在pro文件中增加。
2023-03-23 17:07:53 416
原创 linux网络编程面试题
I/O多路复用的本质是使用select,poll或者epoll函数,挂起进程,当一个或者多个I/O事件发生之后,将控制返回给用户进程。以服务器编程为例,传统的多进程(多线程)并发模型,在处理用户连接时都是开启一个新的线程或者进程去处理一个新的连接,而I/O多路复用则可以在一个进程(线程)当中同时监听多个网络I/O事件,也就是多个文件描述符。select、poll 和 epoll 都是 Linux API 提供的 IO 复用方式。
2023-03-16 15:36:00 737
原创 从SVN服务器上找曾经删除的文件
首先从show log里找到删除记录,然后点击选中记录,在下方窗口上右键,执行"save rivision to"即可。
2023-03-14 15:30:03 111
原创 Qt设计师如何添加QToolBar工具栏
在QtCreator设计师界面中,在MainWindow上右键,有“添加工具栏”菜单项,但。只有在MainWindow上右键才有,在其它控件上方点击则没有,那么怎么在对话框上添加呢?
2023-01-30 10:52:34 1146
原创 Qt坐标系统
setWindow并不是控制控件本身的显示,而是控制在其上的绘图行为的显示,它让你可以自由设定坐标,然后你的绘图代码函数里就可以按照你自己设定坐标相对值硬编码,比如上面坐标设置成了painter.setWindow(-50,-50,100,100);setViewPort设置视口的含义是什么的,我的理解是它让painter把图绘制在它指定的区域里,也就是它的参数指定的矩形,这个矩形是物理坐标表示的。并且在这里由于视口是用控件的物理高宽算的,这样即是控件缩放的时候,圆锥也能随着缩放。
2022-11-11 12:26:17 186
原创 SQLite数据库rowid
由于rowid值会一直递增,如果达到所允许的最大值9223372036854775807后,它会自动搜索没有被使用的值,重新使用,并不会提示用户。所以,如果用户的数据库存在这种可能的情况,就应该使用AUTOINCREMENT定义主键,从而避免这种问题。使用AUTOINCREMENT设置自增主键,虽然也会遇到9223372036854775807问题,但是它会报错,提示用户,避免产生rowid所引发的问题。表中插入的第一个条记录的rowid为1,后续插入的记录的rowid依次递增1。
2022-10-26 08:52:16 1110
原创 L4L7负载均衡
*所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;**同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。...
2022-07-21 15:11:41 1250 2
原创 QListWidgetItem上附加widget
QListWidget在动态增加item的方式下,为item附加的widget可能会发生位置偏移。解决方法是关联一个委托,这个委托并不需要和附加widget有关系,只需要重载updateEditorGeometry函数即可。XItemDelegate.hXItemDelegate.cpp.........
2022-06-22 17:00:27 1885
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人