Pycharm+PyQt5+QT Designer设计GUI时的问题一二

胖友们好久不见,经历这个特殊的时期,你是否也蜕变成了肥嘟嘟的小可爱,哈哈~

渐渐地感觉博客写不动了,每次有写的冲动时都觉得内容太low了,不好意思下笔,后来一想,我写博客的初衷不就是做笔记嘛,记录这一程的点点滴滴,以谦卑的心态倾听各位大佬的指导,嗯,应该是这样的。所以,还请各位不要见笑,这段时期的确处于空洞期,只能说一说个人感觉有意义的小知识点了。

最近稍微搞了一下PyQt,详情就不介绍了,目的就是做一个小的系统,当前用到的就是Pycharm和PyQt的工具包Qt Designer了。在这一过程中,遇到了一些小的问题,比较浅显,但真正解决起来可能会花费不少的时间,还是希望能把自己填好的坑分享给大家,愿可以帮助遇到同样问题的你。

1.Qt Designer预览的界面与Pycharm运行的结果不一致

我们都知道,在Qt Designer设计好界面后可以使用pyuic(目前用到的是pyuic5,因为使用的PyQt版本为5.13.0)工具将将Qt Designer生成的“.ui”文件转换成“.py”文件,这样便可以使用我们熟悉的python来进行后续的更加深入的研究了。在转换格式前我们一般都会使用“Ctrl+R”快捷键来预览一下最终的界面,但使用Pycharm运行转换后的".py"时,结果却和预览时的不一致,查了一下,讲到这一块的很少。基本上使用的方法就是在主函数中加入以下代码:

  QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

谨记,这行代码要放到主函数的最开始,即:

从参数来看也不难理解,该行代码的意思是设置高分辨率屏幕自适应,使设计的界面可以自适应不同分辨率的屏幕,不至于发生布局紊乱的现象。但可惜的是,这种方法没有解决我的问题。

我遇到的问题是设置的背景图片无法正常显示,原本我以为是布局的问题,然后仔细检查代码后发现并非如此,在Qt Designer中设置的图片路径与转换后的“.py”文件中的图片路径并不一致,这个也算是Qt Designer不严谨的一个地方,他不能自动地从“.ui”路径转化到“.py”的路径,由于之前的路径是自行设置的,仅考虑能满足Qt Designer的显示就可以了,没有考虑到使用Pycharm时的路径显示问题,这个需要手动更改路径,或者一开始便同意设置成一样的路径,避免后续的各种问题。

2.从Pycharm打开Qt Designer后便提示“未响应”,然后挂掉

这个问题之前没有遇到过,第一感觉是机器问题,是不是开机时间长了或者打开的软件太多了,然后一查发现有个老哥说需要删掉“C:\Users\Administrator\.designer”文件下的gradients.xml文件,然后我怕误删重要文件,便采取了另一个建议“关闭网易有道词典”,之后就不卡了。。这是什么原理,难道这俩哥们有啥矛盾嘛。。。

3.PyQt应遵循业务逻辑分离原则

稍微接触PyQt的朋友应该都比较熟悉这句话,对于面向对象编程也是通用的,我们把界面的代码和调用界面的代码分开存储,这样一个很大的好处便是当你重新编辑".ui"后不用再添加调用函数代码,因为,每次用pyuic5将“.ui”文件转换成“.py”文件后,后者都不包含主函数代码,这样就很恼火,你要不断地自行添加,一般情况下涉及GUI都要经过多次的调试,如果每次都手动添加主函数代码就很心累了,而且还要手动导入主函数中所需的模块。。

关于PyQt要走的路还很长,我们有缘再见吧。


—如果文章对您有一点点帮助,还请打赏一二,您的鼓励是我前进的不竭动力—

Pycharm+PyQt5+QT Designer设计GUI时的问题一二_第1张图片

你可能感兴趣的:(PyQt)