众所周知,PyQt5是一款优秀的GUI工具集,可用于python界面的快速开发。 本文采用Python3.6+PyCharm社区版进行PyQt5的开发。对于python环境和PyCharm的安装本文不再赘述。本文讲述怎样对PyCharm进行优化,使我们的PyQt开发更为方便。
添加外部的工具
PyQt的开发需要三个外部工具,分别为:
- QtDesigner:可视化界面编辑器,生成.ui文件。
- PyUIC:将QtDesigner生成的UI文件转换为py文件。
- PyRcc:将资源文件转换为py文件。
图1 ExternalTool设置界面
单击菜单栏的“File”→“settings…”调出settings对话框
选择“Tools”→“External Tools”即显示如图1所示的工具界面,单击“+”即可增加扩展工具,弹出如图2所示的工具编辑界面。
图2 工具添加/设置界面
界面上表单的含义如下:
- Name:工具名称,这里为QtDesigner工具;
- Group:工具分组,由于我们设置的均为Qt工具,故均为:QT Tool;
- Program:调用的外部程序,我们调用的为designer文件;
- Parameters:程序参数;
- Working Directory:工作目录。
其中以“”包含的为宏命令,可单击“Insert Macro…”查看和添加,常用的宏值如下:
- :当前文件名,
- :当前程序文件夹,
- :python目录。
三个工具的设置如下:
QtDesigner工具
名称:QtDesigner
程序:\Library\bin\designer.exe
参数:无
工作目录:。
PyUIC工具
名称:QtDesigner
程序:\python.exe
参数:-m PyQt5.uic.pyuic -o .py
工作目录:。
pyRCC工具
名称:QtDesigner
程序:\Library\bin\pyrcc5.exe
参数: -o _rc.py
工作目录:。
至此,Qt常用的外部工具已添加完毕。以后可从菜单栏“Tool”中调用它们,或者在项目管理界面的文件名上单击鼠标右键也可找到调用命令。
定义模板
PyCharm模板的模板分为文件模板和活动模板,前者是一个文件的模板,后者是一条或多条语句的模板。灵活运用模板可以使开发效率成倍提高。
文件模板
文件模板在“settings…”对话框的“Editor”→“File and Code Templates”中设置和查看。如图3所示。
图3 文件模板
单击“+”号可创建模板,然后在Name文本框中输入名字,在Extension文本框中输入扩展名(如:py),在下面的大文本框中输入文件模板内容即可。 笔者为PyQt5开发建立了3个文件模板,2个py文件模板(窗口文件模板和主程序文件模板)和1个qrc文件模板(资源文件)。设置如下:
窗口文件模板
名称:QtWidget File
扩展名:py
内容:
1. `# -*- coding: utf-8 -*-`
2. `from PyQt5.QtWidgets import *`
3.
4. `class Ui_Form(QWidget):`
5. `def __init__(self):`
6. `super().__init__()`
主程序文件模板
名称:PyQt5Main
扩展名:py
内容:
1. `# -*- coding: utf-8 -*-`
2. `from PyQt5 import QtWidgets`
3. `from Dlg import Ui_Form`
4. `import sys`
5.
6. `if __name__ == "__main__":`
7. `app = QtWidgets.QApplication(sys.argv)`
8. `myshow = Ui_Form()`
9. `myshow.show()`
10. `sys.exit(app.exec_())`
资源文件模板
名称:resource File
扩展名:qrc
内容:
1. `<rcc vesion="1.0">`
2. `<qresource>`
3. `</qresource>`
4. `</rcc>`
定义好文件模板后可以通过新建文件,方便得建立文件。
活动模板
活动模板在“settings…”对话框的“Editor”→“Live Templates”中设置和查看。如图4所示。
图4 活动模板
可以看到PyCharm中已经定义好了许多活动模板,如:main、iter、itere,所表示的代码如图4所示,我们可以输入模板名,然后按“Tab”键即可自动补全语句。 笔者为方便PyQt5的开发,定义了Widgets表示:from PyQt5.QtWidgets import *,以方便模块导入。读者可自行定义其他模板,以方便开发。
本文作者
小溪
土木工程硕士毕业,硕士期间利用Python进行数据处理和ABAQUS二次开发,现就职于上海某土木工程咨询公司,从事土木工程软件开发工作。
点击 阅读原文 ,参加 2018从零开始学网络爬虫
