第一篇 -- 安装和配置PyQt5
我的电脑环境是:Win10 + Python3.6.4 + JetBrains PyCharm 2017.3.2 x64
之前用tkinter写界面,现在学习如何用PyQt5写界面。
安装PyQt5:https://blog.csdn.net/qq_39173907/article/details/79676412
1. 进入Python的安装目录,找到Script这个文件夹,切换路径进去,打开cmd窗口
pip install PyQt5
2. 安装tools
pip install PyQt5-tools
3. 配置环境变量
桌面上“我的电脑”,鼠标右键选择“属性”,打开后选择“高级系统设置”,可以看到最下面有一个“环境变量”,然后在“系统变量”下面添加一个环境变量。
变量名:QT_QPA_PLATFORM_PLUGIN_PATH
路径:%Python的安装路径%\Lib\site-packages\PyQt5\Qt\plugins


4. 配置Pycharm
打开Pycharm,点击File-->Setting-->Tools-->External Tools

右边部分本来是空白,点击“+”号,进行如下设置:

Program:是designer.exe所在的路径,不同版本存储的路径可能不一样,得自己找.
有的是%Python的安装路径%\Lib\site-packages\pyqt5_tools\designer.exe。
有的是%Python的安装路径%\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
Working directory就填“$FileDir$”,比较方便的也可以点击右侧Insert Macro...,然后找到“$FileDir$”。
这个tool是可以用来写UI的,下面要设置一个将UI变成py文件的。

Program:是Python的安装路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:“$FileDir$”
到此为止,设置就完成了。那么我们来简单测试一下可不可以使用。
写一个UI
第一步,在你需要写UI的文件路径下右击选择External Tools-->Designer

第二步,画图


第三步,保存画的图到需要写UI的文件路径,取名为firstpic.ui。接着将ui转换成py文件,右击firstpic.ui-->External Tools-->PyUIC

就会在当前目录产生一个firstpic.py文件,文件内容如下:
firstpic.py
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'firstpic.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1125, 877)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.listView = QtWidgets.QListView(self.centralwidget)
self.listView.setGeometry(QtCore.QRect(30, 10, 256, 192))
self.listView.setObjectName("listView")
self.treeView = QtWidgets.QTreeView(self.centralwidget)
self.treeView.setGeometry(QtCore.QRect(350, 10, 256, 192))
self.treeView.setObjectName("treeView")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(60, 240, 551, 411))
self.groupBox.setObjectName("groupBox")
self.label = QtWidgets.QLabel(self.groupBox)
self.label.setGeometry(QtCore.QRect(40, 30, 71, 16))
self.label.setObjectName("label")
self.textBrowser = QtWidgets.QTextBrowser(self.groupBox)
self.textBrowser.setGeometry(QtCore.QRect(110, 30, 256, 51))
self.textBrowser.setObjectName("textBrowser")
self.lcdNumber = QtWidgets.QLCDNumber(self.groupBox)
self.lcdNumber.setGeometry(QtCore.QRect(110, 120, 251, 41))
self.lcdNumber.setObjectName("lcdNumber")
self.progressBar = QtWidgets.QProgressBar(self.groupBox)
self.progressBar.setGeometry(QtCore.QRect(30, 230, 341, 23))
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName("progressBar")
self.calendarWidget = QtWidgets.QCalendarWidget(self.centralwidget)
self.calendarWidget.setGeometry(QtCore.QRect(650, 20, 312, 183))
self.calendarWidget.setObjectName("calendarWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1125, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.groupBox.setTitle(_translate("MainWindow", "GroupBox"))
self.label.setText(_translate("MainWindow", "Hello World"))
那么如今怎么把我们画的图运行出来呢,我们写一个first.py来运行它。
first.py
import sys
import firstpic
from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = firstpic.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
然后右击运行first.py就可以弹出窗口了,学会了吗。
第一篇 -- 安装和配置PyQt5的更多相关文章
- 【OpenCV入门指南】第一篇 安装OpenCV
http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- Sharepoint 2013 安装部署系列篇 第三篇 -- 安装和配置网络负载均衡在前端web服务器
第一部分 系统集群安装 第二部分 SQL集群安装 第四部分 安装和配置sharepoint 场(三层拓扑部署) 接下来一步一步开始配置NLB吧, 以下开始讲解如何配置NLB集群作为sharepoint ...
- cocos2d-x学习记录第一篇-环境变量配置
最近准备学习cocos2d-x,之前一直是做iOS开发的,算是零基础开始学习吧. (此条后来修改,不用配置下面这些东西,下载一个cocosstudio就可以了,直接在里边就创建工程了) 本人用Mac电 ...
- 微信支付 第一篇 JSAPI 支付配置与获取 OpenID
开通微信支付支付产品 首先要在微信支付申请成为 微信支付商户. 选择开通具体的支付产品 成为微信支付商户后在管理后台选择微信支付中的具体支付产品并申请开通如 JSAPI . 将支付商户与公众号关联 这 ...
- 第一篇:CDH配置本地http服务
在我们安装cdh的时候,避免不了要安装一大堆软件,包括cm的服务器,hadoop的各种组件.这些组件的文件都比较大,所以我们会在本地配置一个http服务,以便于在安装cdh服务的时候能快速的安装完.本 ...
- Zookeeper第一课 安装和配置
简介: Zookeeper,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,来实现同步.配置维护.分集群.命名的服务. zookeeper是一个由多 ...
- IOS百度地图之--->第一篇《环境配置与基本使用》
Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...
- NODEJS环境搭建 第一篇 安装和部署NODEJS
一.下载安装文件 根据自己当前系统环境,下载相对应的安装文件 https://nodejs.org/en/download/ 二.双击安装 都傻瓜式的安装步骤,一步一步安装就好了. 三.检查安装结果 ...
随机推荐
- Python小白的数学建模课-09 微分方程模型
小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型的建模与求解,通过常微分方程.常微分方程组.高阶常微分方程 3个案例手 ...
- 我的新书《C++服务器开发精髓》终于出版啦
一.千呼万唤始出来 亲爱的各位读者,我的新书<C++ 服务器开发精髓>终于终于终于与大家见面了,图书如下: 图书的封面设计很精美,当然内容一定不负众望.因出版社老师要求提供一张照片放到封面 ...
- ceph-csi源码分析(4)-rbd driver-controllerserver分析
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(4)-rbd driver-controllerserver分析 当 ...
- App免责声明
一切移动客户端用户在下载并浏览xxxAPP软件时均被视为已经仔细阅读本条款并完全同意.凡以任何方式使用本APP,或直接.间接使用本APP资料者,均被视为自愿接受本网页相关声明和用户服务协议的约束. x ...
- Linux中的chkconfig
chkconfig是用来查看开机自启动项目的命令.默认列出linux系统开机自启的项目.平时我们使用时习惯加上--list 从这个图中可以看到当前系统有哪些开机启动项目,就是红色框中的on. 那么怎么 ...
- HDU 4438 Hunters 区域赛水题
本文转载于 http://blog.csdn.net/major_zhang/article/details/52197538 2012天津区域赛最水之题: 题意容易读懂,然后就是分情况求出A得分的数 ...
- 如何筛选CRM客户系统无效数据
企业将各个渠道获得的大量数据导入CRM系统之后,要如何筛选CRM客户系统无效数据?销售人员应该将更多的时间用于发掘潜在客户,而不是浪费时间来检索CRM数据.Zoho CRM能够呈现最有价值的客户,让销 ...
- AcWing 242. 一个简单的整数问题
给定长度为N的数列A,然后输入M行操作指令. 第一类指令形如"C l r d",表示把数列中第l~r个数都加d. 第二类指令形如"Q X",表示询问数列中第x个 ...
- WPF教程一:创建Hello world来理解XAML的内容及编译
在实际的WPF开发中遇到很多再用Winform写法来写WPF的开发人员,很多时候项目进度延期.出现非必要的BUG等等.大多是因为开发人员虽然是再写WPF. 但是没有好好的学过WPF,就导致无法发挥出W ...
- Redisson 分布式锁源码 11:Semaphore 和 CountDownLatch
前言 Redisson 除了提供了分布式锁之外,还额外提供了同步组件,Semaphore 和 CountDownLatch. Semaphore 意思就是在分布式场景下,只有 3 个凭证,也就意味着同 ...