1、出现问题的原因:
因为之前Qt一直使用的好好的,后面就莫名其妙的出现了这个问题,起初是在一个项目内,我需要新建一个设计师界面类进行界面的设计,但是发现只要我给界面起好名字后,点击下一步,然后界面就会卡死,Qt就会变得无响应,关闭重启也没用用。因为我的电脑是新电脑,所以不存在带不动Qt的情况。
2、我的解决步骤:
(1)先在网上找答案,看看有没有相似经历的码友
我先是在csdn上查看是否有相似的情况,看到的大多数解决方案都是:要么是安装了网易有道词典,或者是显卡的问题。
(2)对问题进行一一排除
1、首先排除是有道云的问题
我确实是下载了有道云,但是在之前,包括开了屏幕取词,我也一样能够进行正常使用。所以理所当然的情况是,我卸载了网易有道云也没什么用。听网上的兄弟们说,他们很多是开了网易有道云的屏幕取词,导致有道云会覆盖在qt的界面上进行取词,然后你的qt就卡住了。但是好像对于我来说,这招没用。
2、排除是显卡驱动的问题
因为我的是新电脑,4060显卡而且显卡驱动在一直更新,那我就在想,会不会是我更新的显卡驱动跟qt的冲突了呢,所以我进行了系统还原,把显卡驱动换回之前的版本,但是我打开qt,依然没有什么用,该卡住还是卡住了。
3、排除是独显直连的问题
看网上有人说,如果你的显卡太新性能太强大,也会出现跟qt不兼容的问题。所以我按照网上的方法,把独显直连给关了,然后把qt设置成使用核显。我一开始用这个方法就感觉应该会没什么用,以为毕竟之前我就一直用的独显直连,也没见有什么问题啊,所以只能从近期的改动继续推演是哪里的问题。
4、排除是软件的问题
我把qt卸载重装了很多次,包括按照它推荐的路径装了,但这只是能解决一下子的问题,过一会由开始卡住了。甚至我按照csdn有一些博主的建议,把.project文件给删除了,重新配置qt,发现也没啥用。又尝试把语言文件给删了,把英文语言文件复制一份改名为中文的文件,这招也没用。
(3)终于发现问题
我的电脑是win11的系统,我发现我隔壁那兄弟也是win11,但是他用的好好的,显卡也跟我的差不多,我就在想这是为什么,我跟他的配置,也就是我的屏幕分辨力比他高,我的是2.5k屏幕,他的是1080p的屏幕。。。
一语道破谜语人,之前我为了让qt适应我这个高分辨率的屏幕,曾经动了一些设置,会不会是这个的问题呢?以为qt本身的毛病也不少,所以我就怀疑是这个的问题了。
3、解决问题
首先,我之前动过这个:
之前动这个玩意就是为了qt的字体大一点,然后看着舒服,既然弄这个可以解决问题,那我就有理由怀疑是高分辨率的屏幕的屏幕缩放跟qt不兼容导致的,之前就是我在ui文件里面设计预览的画面跟运行的画面不一致才改的这个东西。
然后为了验证这个想法,我把屏幕的分辨率降到了1080p,果然!qt一切正常了,设计预览的画面跟运行的画面也变得一致了。。。。就是有一个问题,你看惯了2k屏幕,然后突然降到了1k,就会感觉看的很不舒服,所以如果你想设计的界面跟运行的界面效果是一致的,那也只能把屏幕先降一下分辨率了,然后弄完了以后在换回来,平常就不需要换1k了。毕竟工作是工作,生活是生活嘛。
我之前也试过在main.cpp文件里面加两行自适应的代码,确实可以做到在2k分辨率的情况下,预览效果和运行效果一致,但这只是在你qt界面不复杂的情况下是正常的,一旦你加了很多功能,比如说拖动窗口之类的,然后用那个自适应代码,就会出现一堆的bug。。。。。
所以我想说,qt的适配性真的是一坨大便,,特别是这个5.14.2,都最后一个离线安装包了,还不整好一点。。。。
好了,希望我的经历能帮到一些伙伴,qt问题还是有点多的,有一些问题就像这样子可以莫名奇妙的好了,你也解释不了这到底是为什么。如果后面又卡主了,那又按照之前的步骤再弄一下,然后又好了,这个我已经验证过了,就挺恶心人的,最好不要加奇奇怪怪的代码了。。。。