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程序里出现了莫名其妙地槽函数被调用了,可以排查下是否是这个原因造成的。