【Python】使用PyQt5 来为Python 制作 UI

先安装插件扩展:


pip install PyQt5
pip instqll PyQt5-tools

然后引入包


from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
import sys

定义一个主窗口类


# 窗口函数
class MyWindow(QMainWindow):
    def __init__(self):
        super(MyWindow, self).__init__()
        self.setGeometry(200, 250, 500, 250)  # 申明一个x坐标200 x坐标250 宽500 高250 的窗口
        self.setWindowTitle("一个窗口")  # 窗口标题
        self.initUI()

添加UI控件


 # UI入口
    def initUI(self):
        # 创建label
        self.label = QtWidgets.QLabel(self)
        self.label.setText("这是一个Label!")
        self.label.move(50, 50)  # 定位坐标 x, y
        # 创建按钮1
        self.b1 = QtWidgets.QPushButton(self)
        self.b1.setText("按钮1")
        self.b1.move(100, 100)
        self.b1.clicked.connect(self.clicked)  # 按钮点击执行函数
        # 创建一个按钮2
        self.b2 = QtWidgets.QPushButton(self)
        self.b2.setText("按钮2")
        self.b2.move(250, 100)
        self.b2.clicked.connect(self.showMsgBox)

按钮点击事件


    # 按钮1点击
    def clicked(self):
        self.label.setText("点击按钮后我被改变了")
        self.update()

    # 更新label宽度
    def update(self):
        self.label.adjustSize()

    # 消息弹窗
    def showMsgBox(self):
        msg = QMessageBox()
        msg.setWindowTitle("弹窗提示")  # 弹窗标题
        msg.setText("这是一个消息弹窗")  # 弹窗内容
        msg.setIcon(QMessageBox.Information)  # 弹窗图标
        x = msg.exec_()  # 弹窗关闭

最后再初始化窗口


# 初始化窗口
def window():
    app = QApplication(sys.argv)
    win = MyWindow()
    win.show()
    sys.exit(app.exec_())


window()

完整代码列表


# coding=utf-8
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
import sys


# 窗口函数
class MyWindow(QMainWindow):
    def __init__(self):
        super(MyWindow, self).__init__()
        self.setGeometry(200, 250, 500, 250)  # 申明一个x坐标200 x坐标250 宽500 高250 的窗口
        self.setWindowTitle("一个窗口")  # 窗口标题
        self.initUI()

    # UI入口
    def initUI(self):
        # 创建label
        self.label = QtWidgets.QLabel(self)
        self.label.setText("这是一个Label!")
        self.label.move(50, 50)  # 定位坐标 x, y
        # 创建按钮1
        self.b1 = QtWidgets.QPushButton(self)
        self.b1.setText("按钮1")
        self.b1.move(100, 100)
        self.b1.clicked.connect(self.clicked)  # 按钮点击执行函数
        # 创建一个按钮2
        self.b2 = QtWidgets.QPushButton(self)
        self.b2.setText("按钮2")
        self.b2.move(250, 100)
        self.b2.clicked.connect(self.showMsgBox)

    # 按钮1点击
    def clicked(self):
        self.label.setText("点击按钮后我被改变了")
        self.update()

    # 更新label宽度
    def update(self):
        self.label.adjustSize()

    # 消息弹窗
    def showMsgBox(self):
        msg = QMessageBox()
        msg.setWindowTitle("弹窗提示")  # 弹窗标题
        msg.setText("这是一个消息弹窗")  # 弹窗内容
        msg.setIcon(QMessageBox.Information)  # 弹窗图标
        x = msg.exec_()  # 弹窗关闭


# 初始化窗口
def window():
    app = QApplication(sys.argv)
    win = MyWindow()
    win.show()
    sys.exit(app.exec_())


window()

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注