欢迎初体验Pyqt5
大家好,最近一直都在用pyqt5编写客户端,为什么选择pyqt5尼,因为pyqt5是由python实现QT5,使得我们可以在python环境下使用,python已经相对而言很是成熟,而且包含了很多库,非常的方便且对于新手很容易上手。
安装虚拟环境Virtualenv
为什么要用虚拟环境尼,因为我们在编写代码的时候,如果有多个项目时,共同开发且环境分开就不会受到影响,而且方便后期项目的迁移。
- 安装Python
在官网下载相应版本的python,默认安装到全局就好啦,当你安装好了python后在cmd中敲pip -h
,就会出现(注意:pip是python的包管理工具,安装了python后就自带了pip),如下图所示:
2.安装virtualenv ,在cmd,输入pip3 install virtualenv
,安装后,进入你的项目文件夹,创建虚拟环境,通过输入virtualenv venv
,创建了一个虚拟环境的文件夹,进入Script里面输入activate后激活虚拟环境,就可以在里面安装你的相关依赖啦,而且不影响其他项目,nice~,且虚拟环境会给我们自带很多工具在venv\Scripts文件下,如下图所示:
[图片上传失败...(image-dd7a67-1605521279778)]
[图片上传失败...(image-f7a713-1605521279778)]
安装Pyqt5和Pyqt5-tools
- 在虚拟环境中安装,pyqt5和pyqt5-tool(默认pip install安装的都是最新的库,如若需要下载指定版本,加上版本号,我这里是安装最新的)
pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com
pip install PyQt5-tools -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com
2.安装好了在D:\python-study\venv\Lib\site-packages,下面就会多出你刚刚安好的库
配置pycharm环境
1.首先你得拥有pacharm,去官网下载
2.打开你的项目,点开setting>tools>external tools,里面添加几个工具,我已经添加好啦,和大家讲讲相关的怎么配置吧
(1)Qt Designer 是交互式可视化GUI设计工具,可以帮助我们快速开发 PyQt 程序的速度。它生成的 UI 界面是一个后缀为 .ui 的文件,可以通过 pyiuc 转换为 .py 文件。下面的我的项目目录所在,相关配置,大家根据自己的项目目录配置:
Program: D:\application\python-study\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
Working directory: $FileDir$
(2)Pyuic是可以通过 pyiuc 转换为 ,下面的我的项目目录所在,相关配置,大家根据自己的项目目录配置:
Program:D:\application\python-study\venv\Scripts\python.exe
Arguments: -m PyQt5.uic.pyuic -o .py
Working directory: $FileDir$
3.当你们使用工具时,这里你们可能会遇到一个问题,如下图所示:
遇事不要慌,哈哈哈,博主告诉你这是啥问题,这是因为版本问题,旧版是没有这个问题的,当然你们最想知道的是如何解决问题,你只需要在环境变量添加相关路径就好啦,看下图:
QT_PLUGIN_PATH
D:\python-study\venv\Lib\site-packages\qt5_applications\Qt\bin
QT_QPA_PLATFORM_PLUGIN_PATH
D:\python-study\venv\Lib\site-packages\PyQt5\Qt\plugins
新建第一个窗口
1.为了业务与ui分离我们创建一个ui文件夹,专门用于放置ui页面,右键点击ui文件夹,使用工具QT designer,如下图所示:
2.创建一个Widget类型窗口,里面只设置一个label控件,文字改为hello word,保存为HelloWordUI.ui文件
3.用Pyui工具,将HelloWord.ui文件转化为HelloWord.py文件使得,在python中能够应用
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'HelloWordUI.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(1006, 734)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(170, 150, 221, 20))
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.label.setText(_translate("Form", "hello word"))
4.新建页面HelloWord.py应用继承HelloWordUI.py,文件并显示它,代码如下:
from PyQt5.QtWidgets import QWidget
from ui.HelloWordUI import Ui_Form
class HelloWord(Ui_Form,QWidget):
def __init__(self):
super(HelloWord,self).__init__()
self.setupUi(self)
4.新建app.py系统入口文件并应用HelloWord.py,执行后得到窗口
import sys
from PyQt5.QtWidgets import QApplication
from pages.HelloWord import HelloWord
if __name__ == "__main__":
app = QApplication(sys.argv)
HelloWord = HelloWord()
HelloWord.show()
sys.exit(app.exec_())
注:如若对你有所帮助,总结写博不易,请点个赞关注打赏我吧,我还是总结的挺详细的。