小白级从0搭建PyQt5开发环境步骤

1  说明

因为个人测试,需要在Python中引入一个GUI的界面环境,本人熟悉Qt,所以理所当然地使用了PyQt5这个环境,特此将整个过程整理总结一下,以便更好地让Python和Qt为大家服务。

本文先在Win10上从0开始搭建Python3的环境,然后在这个环境上搭建PyQt5的开发运行环境,最后创建了一个包含了用qt designer设计的窗口的例程。

2  安装Python3

本文使用Python3.8.2

进入https://www.python.org/getit/

点击如下图所示的链接

在打开的页面中翻到最底部,点击如下图所示的链接,下载Windows 64位的安装包

双击下载的安装包,按照下面的步骤和选择安装Python,考虑到部分群众对Python和Qt的了解有限,请先严格按照截图中的配置和步骤来操作,以后熟悉了再随意发挥

我们这里把Python3.8.2成功安装到了E:/Python382这个路径下

3  安装PyQt5和PyQt5-tools

打开Windows的CMD(什么是CMD?????!!!!!!!!!!!!),分别输入下面的命令安装PyQt5和PyQt5-tools

注:网上的资料都是使用pip install PyQt5直接安装,但我的测试结果是这样直接安装总会报错,使用 -i https://xxxxxxxx到国内镜像上下载安装测试顺利且成功

PyQt5

E:/Python382/Scripts/pip.exe install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

PyQt5-tools

E:/Python382/Scripts/pip.exe install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

pip list查看一下,可知PyQt5和PyQt5-tools已经成功安装

4  使用PyQt5-tools中的designer创建一个简单的窗口并保存为ui文件

在CMD中使用命令行打开designer

编辑如下所示的一个简单的窗口,窗口包含了一个按钮和一个标签控件

编辑完成后将这个窗口保存为mywidget.ui文件,本文中我将这个文件保存到了G:/GWorkSpace/20200404/文件夹中

5  使用PyQt5-tools中的pyuic5工具将mywidget.ui文件翻译为mywidget_ui.py文件

CMD切换到G:/GWorkSpace/20200404/文件夹下,使用pyuic5工具翻译ui文件为py文件

翻译后生成的mywidget_ui.py文件内容为

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mywidget.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MyWidget(object):
    def setupUi(self, MyWidget):
        MyWidget.setObjectName("MyWidget")
        MyWidget.resize(271, 227)
        self.buttonTest = QtWidgets.QPushButton(MyWidget)
        self.buttonTest.setGeometry(QtCore.QRect(70, 150, 111, 41))
        self.buttonTest.setObjectName("buttonTest")
        self.labelTest = QtWidgets.QLabel(MyWidget)
        self.labelTest.setGeometry(QtCore.QRect(60, 60, 151, 51))
        self.labelTest.setObjectName("labelTest")

        self.retranslateUi(MyWidget)
        QtCore.QMetaObject.connectSlotsByName(MyWidget)

    def retranslateUi(self, MyWidget):
        _translate = QtCore.QCoreApplication.translate
        MyWidget.setWindowTitle(_translate("MyWidget", "Form"))
        self.buttonTest.setText(_translate("MyWidget", "Test"))
        self.labelTest.setText(_translate("MyWidget", "Test"))

6  创建main.py, mywidget.py等测试文件

mywidget.py

# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import QWidget, QPushButton, QLabel
import mywidget_ui

class MyWidget(QWidget):
    def __init__(self):
        super(MyWidget, self).__init__()
        self.ui = mywidget_ui.Ui_MyWidget()
        self.ui.setupUi(self)
        self.initEvent()

    def initEvent(self):
        self.ui.buttonTest.clicked.connect(self.changeText)

    def changeText(self):
        print("buttonTest clicked!")
        self.ui.labelTest.setText("Hello, PyQt5!")

main.py

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QWidget, QApplication
from mywidget import MyWidget

app = QApplication(sys.argv)
myWidget = MyWidget()
myWidget.setWindowTitle("PyQt5 Test")
myWidget.show()
sys.exit(app.exec())

7  运行测试程序

CMD中运行

运行效果(点击按钮前)

运行效果(点击按钮后)

(--------------------完----------------------)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章