您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
   
 
     
   
 订阅
  捐助
Python基础之安装PyQt5
 
作者:o云淡风轻o
429 次浏览 评价:  
 2020-4-3  
 
编辑推荐:
本文主要介绍安装工具包括:配置环境变量 、配置Pycharm相关,详情请看下文。
本文来自于 cnblogs,由火龙果软件Anna编辑,推荐。

我的电脑环境是:Win10 + Python3.6.4 + JetBrains PyCharm 2017.3.2 x64

之前用tkinter写界面,现在学习如何用PyQt5写界面。

安装PyQt5

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
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就可以弹出窗口了,学会了吗。

 
   
429 次浏览     评价: 订阅 捐助
相关文章

手机软件测试用例设计实践
手机客户端UI测试分析
iPhone消息推送机制实现与探讨
Android手机开发(一)
相关文档

Android_UI官方设计教程
手机开发平台介绍
android拍照及上传功能
Android讲义智能手机开发
相关课程

Android高级移动应用程序
Android系统开发
Android应用开发
手机软件测试
最新课程计划
 
最新文章
简述Matplotlib
Python三维绘图--Matplotlib
Python数据清洗实践
PyTorch实战指南
Python爬虫与数据可视化
最新课程
Python应用开发最佳实践
Python+数据分析+tensorflow
Python 编程方法和应用开发
人工智能+Python+大数据
Python及数据分析
更多...   
成功案例
某通信设备企业 Python数据分析与挖掘
某银行 人工智能+Python+大数据
某领先数字地图提供商 Python数据分析与机器学习
北京 Python及数据分析
某金融公司 Python编程方法与实践培训
更多...