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. 领扣(LeetCode)设计哈希映射 个人题解

    不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对.如果键对应的值已经存在,更新这个值. get(key ...

  2. 11.13的C++##不想写结构,更不爱指针

    //2019.11.13 卑微的Loving-Q瞎写的程序 报错请更改VS中的SDL检查// 我要去嗨了,在线卑微 1 #include<iostream> #include<std ...

  3. RxJS入门

    一.RxJS是什么? 官方文档使用了一句话总结RxJS: Think of RxJS as Lodash for events.那么Lodash主要解决了什么问题?Lodash主要集成了一系列关于数组 ...

  4. 基于crypto++国产加密软件SM4的实现,顺带加了ase,base64

    唔,美国压制得越狠,各种替代产品就越能活. 本文分享SM4的一种快速实现与集成方式.             SM4(原名SMS4)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于201 ...

  5. 【论文阅读】Binary Multi-View Clustering

    文章地址:https://ieeexplore.ieee.org/document/8387526 出自:IEEE Trans. on Pattern Analysis and Machine Int ...

  6. python爬虫项目-一见倾心壁纸

    方法1 import re import urllib import urllib.request def getHtml(url): page = urllib.request.urlopen(ur ...

  7. 插槽在父组件和子组件间的使用(vue3.0推荐)

    子组件: 父组件: 插槽在父组件和子组件间的使用(vue3.0推荐):在外面加一个template模板

  8. CentOS 7 Keepalive 脚本不执行解决

    目录 问题 问题一 括号问题 问题二 脚本名称问题 问题 起因是在测试部署 Altls + Keepalive 高可用读写分离,测试停止Atlas服务的时候,发现Keepalive不会自动主从切换,就 ...

  9. php 开山篇

    由韩顺平老师讲解的 php课程体系 初级课程只能是静态页面开发,不能动态的使用,只是一个界面 学完之后脑海中 应该有的体系~

  10. petri 网理论与研究(第一节140915)

    成绩 :70 大作业 和 30 的最后讨论 petri 是一个人的名字. 网状结构的信息流模型,和自动机有点像 理论体系发展比较慢  应用很远 1      EN,P/T,Pr/T,CPN,关系网……