程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python第三方模塊:PyQt5簡介

編輯:Python

CSDN話題挑戰賽第1期
活動詳情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
參賽話題:Python精彩第三方模塊推薦
話題描述:推薦需求實戰中碰到的實用第三方模塊,也可推薦有趣的 Python 第三方模塊
創作模板:

文章目錄

    • 項目/需求實戰中碰到的問題
    • 第三方模塊(PyQt5)介紹
    • 推薦理由
    • PyQt5速度上手實戰(python3.9+Pycharm)
    • 同類型模塊推薦
      • Tkinter
      • wxPython
    • 總結+思路擴展

項目/需求實戰中碰到的問題

在前段時間,有一個項目需要分析用戶的情緒,我馬上想到的就是使用python3+AWS Comprehend+AWS Lambda+AWS ApiGateway 來做這麼一個情緒分析軟件,在實際設計的時候,令我最煩惱的就是圖形化的設計,反復考慮後還是打算使用 PyQt5 來設計圖形化界面

第三方模塊(PyQt5)介紹

pyqt5是一套Python綁定Digia QT5應用的框架。它可用於Python 2和3。本教程使用Python 3。Qt庫是最強大的GUI庫之一。pyqt5的官方網站http://www.riverbankcomputing.co.uk/news。

pyqt5做為Python的一個模塊,它有620多個類和6000個函數和方法。這是一個跨平台的工具包,它可以運行在所有主要的操作系統,包括UNIX,Windows,Mac OS。pyqt5是雙重許可。開發者可以在GPL和商業許可之間進行選擇。

推薦理由

  1. 模塊使用方法簡單,上手快
  2. 采用可視化界面拖拽設計程序的圖形化界面
  3. 可用模塊自動生成代碼

PyQt5速度上手實戰(python3.9+Pycharm)

安裝PyQt5和PyQt5-tools

pip install PyQt5
pip install PyQt5-tools

查看Designer和PyUic位置


將designer和Pyuic添加到PyCharm中

Name:可自己定義
program:Qt Designer的安裝路徑
parameter:不填
directory: $FileDir$

Name:可自己定義
program:pyuic的安裝路徑
parameter:$FileName$ -o $FileNameWithoutExtension$.py
directory: $FileDir $

測試打開QtDesigner

拖拽創建圖形化界面,設計完成保存

使用PyUic進行轉換,轉換成功後為 .py文件

例如:
創建一個demo並演示:按下按鈕–文本框中顯示文字

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'Demo.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# 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.
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(500, 422)
self.textEdit = QtWidgets.QTextEdit(Form)
self.textEdit.setGeometry(QtCore.QRect(130, 80, 261, 51))
self.textEdit.setObjectName("textEdit")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(210, 180, 93, 28))
self.pushButton.setObjectName("pushButton")
#這裡來調用下面定義的函數
self.pushButton.clicked.connect(self.demo_run)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "PushButton"))
def demo_run(self):
put_words = self.textEdit.setText("你做得很好,這是一個演示")
if __name__=="__main__":
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QMainWindow()
widget.setFixedSize(widget.width(), widget.height()-80) #禁止最大化
ui=Ui_Form()
ui.setupUi(widget)
widget.showMaximized()
sys.exit(app.exec_())

演示如下

同類型模塊推薦

Tkinter

Python官方采用的標准庫,優點是開源、穩定,發布程序較小,缺點是控件相對較少。

wxPython

基於wxWidgets,優點是開源、控件比較豐富,缺點是穩定性相對差點,文檔少,用戶少。

總結+思路擴展

示例:該第三方模塊可以應用到python應用圖形化設計場景,其圖形化設計和代碼轉換可加快開發者的速度,其缺點也很明顯,缺點是庫比較大,發布出來的程序比較大

CSDN話題挑戰賽第1期
活動詳情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved