PyQt5 GUI应用程序工具包入门(1)

众所周知,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…”查看和添加,常用的宏值如下:

  • $FileName$:当前文件名,
  • $FileDir$:当前程序文件夹,
  • $PyinterpreterDirectory$:python目录。

三个工具的设置如下:

QtDesigner工具

名称:QtDesigner 程序:$PyInterpreterDirectory$\Library\bin\designer.exe 参数:无 工作目录:$FileDir$。

PyUIC工具

名称:QtDesigner 程序:$PyInterpreterDirectory$\python.exe 参数:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py 工作目录:$FileDir$。

pyRCC工具

名称:QtDesigner 程序:$PyInterpreterDirectory$\Library\bin\pyrcc5.exe 参数:$FileName$ -o $FileNameWithoutAllExtensions$_rc.py 工作目录:$FileDir$。

至此,Qt常用的外部工具已添加完毕。以后可从菜单栏“Tool”中调用它们,或者在项目管理界面的文件名上单击鼠标右键也可找到调用命令。

定义模板

PyCharm模板的模板分为文件模板和活动模板,前者是一个文件的模板,后者是一条或多条语句的模板。灵活运用模板可以使开发效率成倍提高。

文件模板

文件模板在“settings…”对话框的“Editor”→“File and Code Templates”中设置和查看。如图3所示。

图3 文件模板

单击“+”号可创建模板,然后在Name文本框中输入名字,在Extension文本框中输入扩展名(如:py),在下面的大文本框中输入文件模板内容即可。 笔者为PyQt5开发建立了3个文件模板,2个py文件模板(窗口文件模板和主程序文件模板)和1个qrc文件模板(资源文件)。设置如下:

窗口文件模板

名称:QtWidget File 扩展名:py 内容:

# -*- coding: utf-8 -*-from PyQt5.QtWidgets import *class Ui_Form(QWidget):    def __init__(self):        super().__init__()

主程序文件模板

名称:PyQt5Main 扩展名:py 内容:

# -*- coding: utf-8 -*-from PyQt5 import QtWidgetsfrom Dlg import Ui_Formimport sysif __name__ == "__main__":   app = QtWidgets.QApplication(sys.argv)   myshow = Ui_Form()   myshow.show()   sys.exit(app.exec_())

资源文件模板

名称:resource File 扩展名:qrc 内容:

<rcc vesion="1.0">    <qresource>    </qresource></rcc> 

定义好文件模板后可以通过新建文件,方便得建立文件。

活动模板

活动模板在“settings…”对话框的“Editor”→“Live Templates”中设置和查看。如图4所示。

图4 活动模板

可以看到PyCharm中已经定义好了许多活动模板,如:main、iter、itere,所表示的代码如图4所示,我们可以输入模板名,然后按“Tab”键即可自动补全语句。 笔者为方便PyQt5的开发,定义了Widgets表示:from PyQt5.QtWidgets import *,以方便模块导入。读者可自行定义其他模板,以方便开发。

本文作者

小溪

土木工程硕士毕业,硕士期间利用Python进行数据处理和ABAQUS二次开发,现就职于上海某土木工程咨询公司,从事土木工程软件开发工作。

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2018-01-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏草根专栏

Identity Server 4 - Hybrid Flow - Claims

前一篇 Identity Server 4 - Hybrid Flow - MVC客户端身份验证: https://www.cnblogs.com/cgzl/p...

1343
来自专栏YG小书屋

jmeter 测试ES并发

2644
来自专栏菩提树下的杨过

Silverlight单元测试

默认情况下,vs2010并不能创建"Silverlight的单元测试"项目,不是vs2010做不到,只是MS没有推出模板而已。没关系,在联机模板里下载一个,如下...

2018
来自专栏Jerry的SAP技术分享

使用SAP云平台的destination消费Internet上的OData service

通过SAP云平台上的destination我们可以消费Internet上的OData service或者其他通过HTTP方式暴露出来的服务。

4144
来自专栏皮振伟的专栏

​[linux][process]进程crash类问题处理方法

前言: 进程crash一般比较讨厌,尤其是segmentation fault,所谓的“踩内存”,是最讨厌的。 分析: 1,status 进程的状态,一般使...

5218
来自专栏张善友的专栏

Microsoft Sync Framework 2.1 软件开发包 (SDK)

Sync Framework 2.1 引入了新功能,这些功能支持您计算机上的 SQL Server 或 SQL Server Compact 数据库与 SQL ...

2077
来自专栏角落的白板报

将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1.3X

项目的例子直接使用https://github.com/52ABP/52ABP.School 作为对象,毕竟他正好是.NET CORE 2.0的版本。

851
来自专栏编程心路

SSH框架之旅-struts2(4)

AOP 是 Aspect Objected Prograing(面向切面编程)的缩写。struts2 中的拦截器就是这种编程策略的一种实现,AOP 思想是在基本...

1443
来自专栏技术小讲堂

ASP.NET 5 之 错误诊断和它的中间件们配置错误处理页面在Development阶段使用错误页面运行时信息页面欢迎页面

ASP.NET5包含若干个新的功能来辅助诊断错误,可以在Startup类中简单的为应用程序错误配置不同的处理程序或者显示关于应用程序的附加信息。 配置错误处理页...

3588
来自专栏有趣的django

Django用户登录与注册系统

一、创建项目 1.1.创建项目和app django-admin startproject mysite_login python manage.py sta...

2K7

扫码关注云+社区

领取腾讯云代金券