第一篇 -- 安装和配置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/ 二.双击安装 都傻瓜式的安装步骤,一步一步安装就好了. 三.检查安装结果 ...
随机推荐
- WordPress安装篇(1):使用PHPStudy安装WordPress
我是"小白",既不会编程也不懂CSS能自己搭建网站吗?可以的!只要你会用鼠标,懂打字就能搭建出属于你自己的网站.要怎么样才能做到昵?让我们一起来看看如何实现的吧.在Windows环 ...
- Pytest学习笔记2-setup和teardown
前言 我们在做自动化的时候,常常有这样的需求: 执行每一条用例时,都重新启动一次浏览器 每一条用例执行结束时,都清除测试数据 在unittest中,我们可以使用 setUp() 和 tearDown( ...
- [.NET大牛之路 002] 什么是 .NET
.NET 是一个开发平台,或者叫开发者平台.使用 .NET 你可以创建不同类型的应用程序,使用多种开发语言.编辑器和工具库创建网页.手机.桌面以及游戏等应用.其核心特点是:免费.开源和跨平台. 语言和 ...
- kubeadm部署高可用版Kubernetes1.21[更新]
环境规划 主机名 IP地址 说明 k8s-master01 ~ 03 192.168.3.81 ~ 83 master节点 * 3 k8s-master-lb 192.168.3.200 keepal ...
- js笔记5
1.逻辑运算 || && ! ||:遇到第一个为true的值就中止并返回 &&:遇到第一个为false的值就中止并返回,如果没有false值,就返回最后一个不是fa ...
- Kubernetes的亲和性和反亲和性
节点亲缘性规则可以影响pod被调度到哪个节点.但是,这些规则只影响了pod和节点之间的亲缘性.然而,有些时候也希望能有能力指定pod自身之间的亲缘性. 举例来说,想象一下有一个前端pod和一个后端po ...
- Gym 101334A Area 51 数学
大致题意: 给出n个建筑的二维坐标,每个建筑名称为一个字母,不同坐标的建筑可以有同一名称,并保证这些坐标都是在y轴上半轴.给出一串建筑名称的字符串,在X轴上找出一个或多个区间,使Nick在这个区间上从 ...
- 基于Yarp的http内网穿透库HttpMouse
简介 前几天发表了<基于Yarp实现内网http穿透>,当时刚刚从原理图变成了粗糙的代码实现,项目连名字都还没有,也没有开放源代码.在之后几天的时间,我不断地重构,朝着"可集成. ...
- JVM,我就不信学不会你了
JVM 对 Java 有多重要,对程序员面试有多重要,这些不用多说. 如果你还没意识到学 JVM 的必要性,或者不知道怎么学 JVM,那么看完这篇文章,你就能知道答案了. 曾经的我很不屑于学 JVM, ...
- idea中快捷键的设置
IDEA快捷方式改成eclipse的 File -> Settings -> Keymap 这里选Eclipse 然后Applay 即可: 快速生成main方法设置以及System.out ...