91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用PyQt5快速構建一個簡單的GUI應用

發布時間:2021-11-25 15:16:24 來源:億速云 閱讀:146 作者:小新 欄目:大數據

這篇文章給大家分享的是有關怎么用PyQt5快速構建一個簡單的GUI應用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1. 介紹

Python GUI 常用的 3 種框架是:Tkinter、wxpython、PyQt5

PyQt5 基于 Qt,是 Python 和 Qt 的結合體,可以用 Python 語言編寫跨平臺的 GUI 應用程序

相比 Tkiner和 wxpython,PyQt5 利用自帶的 Qt Designer 可視化工具進行界面設計,可以非常快速地開發出一款功能強大、界面美觀的 GUI 應用程序

2. 安裝

以 Mac OSX 為例,PC 下的操作類似。

首先,在系統內部安裝 qt 應用

# 安裝qt
brew install qt

然后,在 Python 虛擬環境下安裝 sip 和 pyqt5 兩個依賴庫

# 安裝依賴sip
pip3 install sip

# 安裝依賴pyqt5
pip3 install pyqt5

接著,在 Pycharm 中配置 External Tools,新建 Qt Designer 和 PyUIC 兩個命令

# Qt Designer 配置
Program:/usr/local/Cellar/qt/5.14.1/libexec/Designer.app
Working directory:/usr/local/Cellar/qt/5.14.1/libexec

# PyUIC
# Python環境路徑
Program:/usr/local/bin/python3.7
# 參數
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py 
# 路徑【固定】
Working directory:$ProjectFileDir$

其中,在第一步安裝 Qt 應用文件夾下,找到 Designer.app 和 libexec 兩個文件,配置進去

怎么用PyQt5快速構建一個簡單的GUI應用

由于 QtDesigner 生成的文件是 *.ui 文件,需要借助 pyqt5 中的 pyuic,將 ui 文件轉換為 Python 文件

怎么用PyQt5快速構建一個簡單的GUI應用

3. 常用功能介紹

QtDesigner 是一個非常強大的 GUI 設計工具,生成的文件格式為:*.ui

怎么用PyQt5快速構建一個簡單的GUI應用

第 2 步,選中控件,鼠標右鍵為控件新增屬性,比如:控件內容、控件名稱(相當于id),對于一些復雜的屬性設置,需要在屬性區域單獨進行設置

編輯完 UI 界面之后,會在本地生成一個 *.ui 的文件

如何用 PyQt5 快速構建一個簡單的 GUI 應用

第 3 步,選擇 *.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 步,為按鈕添加點擊事件

使用 控件名.信號.connect(槽函數) 的形式,為控件添加一個點擊事件的監聽

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應用

感謝各位的閱讀!關于“怎么用PyQt5快速構建一個簡單的GUI應用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣化县| 景洪市| 彩票| 合水县| 汉阴县| 万盛区| 获嘉县| 九江市| 漳浦县| 沙坪坝区| 西藏| 阿拉尔市| 襄城县| 荣昌县| 恩施市| 木里| 嘉荫县| 玉山县| 泸州市| 信宜市| 阿克陶县| 利川市| 宁河县| 南皮县| 金寨县| 陵川县| 望都县| 广东省| 安陆市| 泸州市| 咸丰县| 休宁县| 兰坪| 莲花县| 武义县| 湄潭县| 枣强县| 西盟| 木里| 临沂市| 通州市|