- 博客(999)
- 资源 (4)
- 收藏
- 关注
原创 QtCreator在扩展屏里右键不弹出菜单问题
1、QtCreator.exe右键属性->兼容性->更改高DPI设置->勾选"替代高DPI缩放行为",缩放执行选择“系统(增强)”2、重启QtCreator。
2025-03-06 13:22:10
80
原创 git stash提示 Entry ‘**‘ not uptodate,cannot merge
先对提示的那个文件执行git add,再执行git stash。
2024-12-11 15:57:38
316
原创 QTableView调用setColumnWith无效
1、只要model的数据有改变(无论是添加还是修改),setColumnWith原先设置的宽度就失效,因此,如果是在初始化的时候,应当先加载model的数据,再调用setColumnWidth,如果是运行中的时候,则每次改变了model的数据,都要再调用一次setColumnWidth。
2024-12-10 11:49:01
188
原创 QStandardItemModel 插入数据导致产生多余列
在使用QStandardItemModel子类结合QTableView时,发现如果引用insertRow插入数据会导致列数扩张,引用setItem插入数据则不会有问题,该问题在ubuntu下发生,在windows下不发生。
2024-11-26 14:58:21
120
原创 Qt信号和槽记录
不要写为connect(&signalObj, SIGNAL(SignalClass::MySignal(QString)), this, SLOT(SlotClass::MySlot(QString))),如果写成这样会报no such signal错误。// 不能加const,QString和&之间不能留空格。
2024-10-18 15:46:44
303
原创 Qt QString 增、删、改、查、格式化等常用方法总结
Qt QString 增、删、改、查、格式化等常用方法总结_qstring 格式化-CSDN博客
2024-09-28 15:14:03
163
原创 QTimer备忘
你可以把QTimer看作是一个能够产生定时事件的对象。当你启动一个QTimer时,你实际上是在告诉事件循环:“请在指定的时间后向我发送一个定时器超时事件(Timer Timeout Event)”。2、虽然是在当前线程中执行的,但即便把定时器的执行频率设置的非常高,也不会导致当前界面无响应,除非在定时器的处理函数中持续占CPU(例如sleep循环)。1、定时器是在当前线程中执行的,实际上,它处于当前线程的事件循环中,如果想定时器放在单独的线程中执行,可以借助于moveToThread实现。
2024-08-23 14:25:15
283
原创 设计模式总结
为访问者提供服务,比如说家里来客人了,有各种吃的,你不是让客人自己一个一个直接去拿,而是拿个果盘放好各种吃的,把果盘提供给客人。可以看做是用一扇门挡住内部实现,比如有A、B、C等等一大堆类,统一提供一个X类,由X类引用它们,客户只用X类。简单说就是有个A类,但是出于某些原因,客户无法直接调用A类或者A类无法完全满足客户需求,于是写个B类,B类中引用A类。类实现一个功能可以提供不同的策略,说白了就是不同的方法。A类提供统一接口,但是A类不具体实现,由B类、C类等具体实现,A类维护一个它们的指针。
2024-06-07 09:47:03
333
原创 modbus和字节序备忘
使用libmodbus库时,调用它的uint16_t相关接收函数时,它自动对每个字进行了高低字节转换,因此读到的数据中每个字的两个字节跟发送端顺序是对调了的,这一点尤其注意。modbus协议规定是按大端传输(见英文版说明),但是确切的说,它只是借用“大端”这个术语以表示它是由左往右依次字节传输的,因为毕竟大小端只有到了数值层面才有意义。HACH 是按小端赋给modbus的,因为设备多数都是小端平台,因此可以认为程序就是直接把变量赋值给modbus的。// 输出的是大端,即跟内存中顺序相反。
2024-02-01 18:45:29
1493
原创 基于拨号网络的域名解析
(1)确认系统中/lib是否有libnss_dns* 和libresolv*相关库。(2)拨号后,如果resolv.conf不是产生在/etc下,则手动建立软链接。
2023-11-28 14:51:45
483
原创 Git合并分支
1.保证本地my分支已推送至远程,即本地my分支没有新修改内容。2.切换本地分支为master,拉取master最新代码至本地。4.将master分支合并到本地my分支。5.将本地my分支推送至远程。3.切换本地分支为my。
2023-08-18 15:22:42
77
原创 C++:undefined reference to vtable
编译通过,编译链接时始终提示C++:undefined reference to vtable....,网上基本都说是有虚函数在子类中没定义,但我确实所有子类都实现了。其中提到了RTTI需要修改gcc的编译参数,突然想到我程序中对这些类的调用采用了智能指针,应该是类似的原因,于是cmake重新生成makefile,成功解决。最近遇到一个问题,编写了一组继承关系的类,并且包含有纯虚函数、虚函数。
2023-08-08 11:03:37
216
原创 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
219
原创 c++11列表初始化
2.对于类对象的初始化,{}相当于构造函数(),其中也是写构造函数参数,当然,得有对应定义的构造函数。如果是空的{},相当于调用默认构造函数。(只要是在构造对象的地方,我们都可以用{}初始化语法为构造函数提供参数,<C++程序设计语言>17.3.2)1.{}前有无=没区别。
2023-07-27 12:49:45
80
原创 Linux异步和非阻塞
一般来说使用select和poll结合非阻塞的文件指针可以对应大部分情况,但是某些时候 需要使用异步的文件指针。比如:如果一个函数处理数据,但是处理时间很长,在其处理的时候 我们需要运行这个函数的进程及时响应网络事件或者内核信号,这时就需要将其置为异步。标记,该标记会改变read,write和同类函数的行为,使得在fd还不能IO时立即返回而不是hang住。标记,该标记决定fd可以IO时进程是否会收到SIGIO和SIGPOLL信号。异步: 使得拥有文件指针的进程或者进程组能够立刻收到内核的SIGIO信号。
2023-06-08 08:45:41
1147
原创 Qt setMouseTracking不起作用
在代码中调用setMouseTracking(true)不起作用,发现必须在ui部件属性里设置才起作用。
2023-05-16 15:36:35
300
原创 Qt防止自动获取焦点
由于获取焦点会触发输入法弹窗,为了防止一些部件自动获取焦点时导致输入法弹出,可以设置部件的焦点获取方式为setFocusPolicy(Qt::ClickFocus);
2023-04-05 14:53:51
163
原创 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
465
原创 linux网络编程面试题
I/O多路复用的本质是使用select,poll或者epoll函数,挂起进程,当一个或者多个I/O事件发生之后,将控制返回给用户进程。以服务器编程为例,传统的多进程(多线程)并发模型,在处理用户连接时都是开启一个新的线程或者进程去处理一个新的连接,而I/O多路复用则可以在一个进程(线程)当中同时监听多个网络I/O事件,也就是多个文件描述符。select、poll 和 epoll 都是 Linux API 提供的 IO 复用方式。
2023-03-16 15:36:00
784
原创 从SVN服务器上找曾经删除的文件
首先从show log里找到删除记录,然后点击选中记录,在下方窗口上右键,执行"save rivision to"即可。
2023-03-14 15:30:03
169
原创 Qt设计师如何添加QToolBar工具栏
在QtCreator设计师界面中,在MainWindow上右键,有“添加工具栏”菜单项,但。只有在MainWindow上右键才有,在其它控件上方点击则没有,那么怎么在对话框上添加呢?
2023-01-30 10:52:34
1203
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人