QT遇到的问题记录

1、QtCreator debug无法进入源码

参考:https://blog.csdn.net/tanmx219/article/details/124599802
现象:项目文件调试正常,但源码的函数在调用链中为灰色,点击函数出现的是一些汇编语句
在这里插入图片描述

1.debugger添加源码路径映射
在这里插入图片描述
2.下载对应版本的调试共享库
https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5129/qt.qt5.5129.debug_info.gcc_64/
https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5129/qt.qt5.5129.debug_info.gcc_64/5.12.9-0-202006121744qtbase-Linux-RHEL_7_4-GCC-Linux-RHEL_7_4-X86_64-debug-symbols.7z
在这里插入图片描述
下载解压,将lib中的文件添加到Qt安装目录的Qt5.12.9/5.12.9/gcc_64/lib中,可以先备份下lib
就OK了

在这里插入图片描述

但是有一些源码的moc文件找不到,
在这里插入图片描述

2、QT不显示24位深度图

转成32位即可

3、QListWidgetItem如何插入到QListWidget 的开头

原文链接:https://blog.csdn.net/tieshuxianrezhang/article/details/83011803

QListWidget 中插入新项是很常见的操作,方法有二。
一是addItem,是在QListWidget的最后插入一项;
二是insertItem,是在QListWidget的row参数的位置插入一项。在这种方法中,需要注意一点,就是在新建项的时候,项的父控件不能是QListWidget,否则还是添加到QListWidget的最后,即不能 item = new QListWidgetItem(QListWidget),而应该是 item = new QListWidgetItem();

4、stylesheet不生效

1、检查stylesheet是否正确
2、检查parent是否有有stylesheet覆盖

4、不要使用QtCreator,Dsign界面中的Go to slot!!!

起因:
我发现我的一个关闭窗口按钮,不知道会莫名其妙地触发一个我不记得有创建过连接的槽函数,然后再关闭窗口。
全局搜了下也没有搜到任何对应的连接,grep -rn "on_pushButton_clicked" ./
但是更改这个槽的函数名,就可以取消按钮对这个槽函数的莫名触发…
所以怀疑是这个名字的槽函数的问题…
看到这个槽函数的命名方式比较特殊,不是我起得名字,又回忆了下这个槽函数的生成方式,发现这个槽函数好像是用go to slot的方式生成的。
验证:
创建一个新按钮2,新按钮2手动connect关闭窗口,点击按钮2并不会触发那个特别的槽函数。然后对按钮2,右键选择go to slot,生成槽函数。不写连接函数。运行后发现问题复现了,但全局搜这个槽函数还是没有发现有连接的地方…
问题是如果把这个按钮删除,再新拉出一个同名的新按钮,原来的莫名奇妙的连接依旧存在…
不是特别准确的结论就是,go to slot会直接给你的按钮和槽函数创建一个隐式的连接,没有connect,就算按钮和槽函数有缺失,编译、运行也都不会报错。而且他还是以按钮的objectName和槽函数名连接的,只要存在同名的按钮和槽函数,这个连接就会存在,这100%不是我们想要的。。。而且确实不知道有什么好办法定位,所以如果你的qt程序里出现了莫名其妙地槽函数被调用了,可以排查下是否是这个原因造成的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值