知行编程网知行编程网  2023-01-12 13:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于PyQt5快速构建一个简单的GUI应用(2)的相关知识,包括3极管的应用,以及宏的简单应用这些编程知识,希望对大家有参考作用。

PyQt5快速搭建一个简单的GUI应用(二)


PyQt5快速构建一个简单的GUI应用(2):

1、添加控件

我们从控制区拖拽3个按钮和2个输入框到界面设计区

PyQt5快速搭建一个简单的GUI应用(二)

2、增加控件属性

选中控件,右键为控件添加属性,如:控件内容,控件名称(相当于id),对于一些复杂的属性设置,需要在属性区单独设置

编辑完 UI 界面之后,会在本地生成一个 *.ui 的文件

PyQt5快速搭建一个简单的GUI应用(二)

3、将ui文件转换成py文件

选择 *.ui 文件,在 Pycharm 中使用 PyUIC 命令,将 ui 文件转换为 py 文件

# ui文件转为py文件
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 790)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(130, 80, 111, 41))
        self.pushButton.setObjectName("pushButton")
        self.username = QtWidgets.QLineEdit(self.centralwidget)
        self.username.setGeometry(QtCore.QRect(260, 80, 271, 41))
        self.username.setObjectName("username")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(130, 150, 111, 41))
        self.pushButton_2.setObjectName("pushButton_2")
        self.password = QtWidgets.QLineEdit(self.centralwidget)
        self.password.setGeometry(QtCore.QRect(260, 150, 271, 41))
        self.password.setObjectName("password")
        self.login = QtWidgets.QPushButton(self.centralwidget)
        self.login.setGeometry(QtCore.QRect(260, 230, 141, 61))
        self.login.setObjectName("login")
        MainWindow.setCentralWidget(self.centralwidget)
        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.pushButton.setText(_translate("MainWindow", "用户名:"))
        self.pushButton_2.setText(_translate("MainWindow", "密码:"))
        self.login.setText(_translate("MainWindow", "登录"))

4、为按钮添加点击事件

使用控件名称.signal.connect(slot function)的形式给控件添加点击事件监听器

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        # 为登录按钮指定事件
        # clicked:信号,login_met:槽函数
        self.login.clicked.connect(self.login_met)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def login_met(self):
        """
        登录事件(槽函数)
        :return:
        """
        # 用户名输入框的内容
        username = self.login.text()
        # 密码输入框的内容
        password = self.password.text()
        print("输入的用户名是:", username, "密码是:", password)

5、展示界面

最后新建一个py文件,实例化一个QApplication对象,显示上面创建的MainWindow。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
# 界面文件
from temp import *
class CustomUI(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(CustomUI, self).__init__(parent)
        self.setupUi(self)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    cutomUI = CustomUI()
    cutomUI.show()
    sys.exit(app.exec_())

需要注意的是,这部分内容只是调用显示GUI界面的逻辑,实际项目开发过程中变化不大。

PyQt5快速搭建一个简单的GUI应用(二)

更多python进阶知识,请观看
!!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享