1. 依赖包

Click (7.0)
PyQt5 (5.11.2)
PyQt5-sip (4.19.12)
QScintilla (2.10.7)
pip (9.0.1)
pyqt5-tools (5.11.2.1.3rc8) 提供了QtDesigner.exe工具
python-dotenv (0.9.1)
setuptools (28.8.0)
sip (4.19.8)

这些依赖包都能够通过pip3 install *.whl 的包格式来安装。

1.1. 安装命令

PyQt5(不包含有 QtDesigner)

PS C:\Users\admin\Desktop> pip3 install PyQt5 -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting PyQt5
Downloading https://pypi.doubanio.com/packages/5d/85/d174a50e0d6b60aa9113f6a32afb31f2
5345bec8584992af486235373252/PyQt5-5.11.2-5.11.1-cp35.cp36.cp37.cp38-none-win_amd64.whl (93.3MB)
100% |████████████████████████████████| 93.4MB 1.1MB/s
Collecting PyQt5_sip<4.20,>=4.19.11 (from PyQt5)
Downloading https://pypi.doubanio.com/packages/3f/4f/7b820770e6a8f8b83cacea561534e31c7
8a74eeac0fb2f7618c835fa74c6/PyQt5_sip-4.19.12-cp36-none-win_amd64.whl (51kB)
100% |████████████████████████████████| 61kB 1.6MB/s
Installing collected packages: PyQt5-sip, PyQt5
Successfully installed PyQt5-5.11.2 PyQt5-sip-4.19.12
PS C:\Users\admin\Desktop>

PyQt5-tools (包含有 QtDesigner)

PS C:\Users\admin\Desktop> pip3 install PyQt5-tools -i https://pypi.douban.com/simple
Looking in indexes: https://pypi.douban.com/simple
Collecting PyQt5-tools
Downloading https://pypi.doubanio.com/packages/0e/a1/b2bbbb9e0c0f374fb77c85b014fc39fdb
6e9e258c20906cc7ecb5f565e38/pyqt5_tools-5.9.0.1.2-cp36-none-win_amd64.whl (37.5MB)
100% |████████████████████████████████| 37.5MB 6.6MB/s
Installing collected packages: PyQt5-tools
Successfully installed PyQt5-tools-5.9.0.1.2
PS C:\Users\admin\Desktop>

1.2. 文档API

https://pyqt.readthedocs.io/en/latest/sip-classes.html

https://riverbankcomputing.com/news --> https://pyqt.readthedocs.io/en/latest/

2. PyCharm配置

请参考:https://www.cnblogs.com/BlueSkyyj/p/8398277.html

简略步骤说明:

  • 添加 External Tools:QtDesigner
  • 添加 External Tools:PyUIC(QtDesigner生成的.ui文件自动转换为.py文件)

2.1. External Tools: QtDesigner

Settings -> Tools -> External Tools 选中“+”,弹出的对话框:

Name: QtDesigner
Tool Settings:
Program: C:\Python365\Lib\site-packages\pyqt5_tools\designer.exe
Parameters: $FileDir$ (这是一个宏,可以通过点击Insert macro来添加这个值,手动输入也是一样的意思)
Working directory: $FileDir$

2.2. External Tools: PyUIC

settings -> Tools -> External Tools 选中“+”,弹出的对话框:

Name: PyUIC
Tool settings:
Program: C:\Python365\python.exe
Parameters: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (可以通过 insert macro来设置,也可以手动输入)

3. 示例

创建一个纯python工程(Pure Python Project)QtTest。

3.1. 启动QtDesigner.exe

通过右键 -> External Tools -> QtDesigner,将启动QtDesigner.exe,创建一个MainWindow,然后将左侧的一个 PushButton 拖入 创建的MainWindow,保存文件到工程目录,取名 hello.ui

3.2. UI转换为PY

选中 hello.ui,然后右键 -> External Tools -> PyUIC,将自动把 hello.ui 转换为 hello.py 文件了。

3.3. 编写 main.py

在工程目录中创建 main.py 文件,写入如下内容:

import sys
import hello #生成的 hello.py
from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__':
app = QApplication(sys.argv) w = QMainWindow()
ui = hello.Ui_MainWindow()
ui.setUi(w)
w.show() sys.exit(app.exec_())

3.4. 运行

main.py 文件内,点击鼠标右键,选择:Run,将弹出一个 Window 窗口。

3.5. 不启动后台

使用 pythonw.exe 运行 GUI 程序,将不显示 cmd 窗口,只会显示 GUI 窗口,这点非常的有用,但是这个解析器同时关闭了原来的:stdin, stdout, stderr。解决方案参考链接:https://stackoverflow.com/questions/9705982/pythonw-exe-or-python-exe

3.6. 另外一个示例

# 来自 《PyQt5 快速开发与实践》
import sys
from PyQt5.QtWidgets import QPushButton, QApplication, QWidget class WinForm(QWidget):
def __init__(self, parent=None):
super(WinForm, self).__init__(parent)
self.setGeometry(300, 300, 350, 350)
self.setWindowTitle('点击按钮关闭窗口')
quit = QPushButton('Close', self)
quit.setGeometry(10, 10, 60, 35)
quit.setStyleSheet("background-color: red")
quit.clicked.connect(self.close) if __name__ == '__main__':
app = QApplication(sys.argv)
win = WinForm()
win.show()
sys.exit(app.exec_())

[TimLinux] PyQt5 安装部署的更多相关文章

  1. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  2. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  3. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  4. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  5. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  6. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  7. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  9. SCCM 2012 R2安装部署过程和问题(三)

    上篇 SCCM 2012 R2安装部署过程和问题(二) 个人认为对于使用SCCM 2012的最重要的经验是耐心. SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通 ...

随机推荐

  1. 关于GDAL读写Shp乱码的问题总结

    目录 1. 正文 1.1. shp文件本身的编码的问题 1.2. 设置读取的编码方式 1.2.1. GDAL设置 1.2.2. 解码方式 1.2.3. 其他 2. 参考 1. 正文 最近在使用GDAL ...

  2. 手把手教你用netty撸一个ZkClient

    原文地址: https://juejin.im/post/5dd296c0e51d4508182449a6 前言 有这个想法的缘由是前一阵子突发奇想, 想尝试能不能直接利用js连接到zookeeper ...

  3. [Error]Archive for required library: 'C:/Users/fk/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.7/jaxb-core-2.2.7.jar'

    Eclipse报错: Description Resource Path Location Type Archive for required library: 'C:/Users/fk/.m2/re ...

  4. 编写 Dockerfile 最佳实践

    官方仓库虽然有数十万计的免费镜像,但大多数无法直接满足公司业务需求,这就需要我们自己去定制镜像了. Docker通过Dockerfile自动构建镜像,Dockerfile是一个包含用于组建镜像的文本文 ...

  5. 使用shiro做权限管理的学习笔记整理

    Shiro权限管理 参考:https://www.cnblogs.com/jpfss/p/8352031.html Shiro解决的问题 授权和鉴别的问题:Authenrization(授权) Aut ...

  6. 从零开始入门 | Kubernetes 中的服务发现与负载均衡

    作者 | 阿里巴巴技术专家  溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...

  7. python基础-面向对象编程之继承

    面向对象编程之继承 继承的定义:是一种新建类的方式,新建的类称之为子类或派生类,被继承的父类称之为基类或超类 继承的作用:子类会""遗传"父类的属性,从而解决代码重用问题 ...

  8. python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等)

    python3 解释器默认编码为Unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节串,字节码通过解码成为字符串. encode:str-->byte ...

  9. SpringCloud Alibaba微服务实战 - 基础环境准备

    Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备. 该 ...

  10. 【2018寒假集训 Day2】【动态规划】挖地雷

    挖地雷(Mine) 在一个地图上有N 个地窖(N<=200),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径,并规定路径都是单向的,且从编号小的地窖通向编号大的地窖.某人可以从任一处 ...