CSDN話題挑戰賽第1期
活動詳情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
參賽話題:Python精彩第三方模塊推薦
話題描述:推薦需求實戰中碰到的實用第三方模塊,也可推薦有趣的 Python 第三方模塊
創作模板:
在前段時間,有一個項目需要分析用戶的情緒,我馬上想到的就是使用python3+AWS Comprehend+AWS Lambda+AWS ApiGateway 來做這麼一個情緒分析軟件,在實際設計的時候,令我最煩惱的就是圖形化的設計,反復考慮後還是打算使用 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和商業許可之間進行選擇。
安裝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_())
演示如下
Python官方采用的標准庫,優點是開源、穩定,發布程序較小,缺點是控件相對較少。
基於wxWidgets,優點是開源、控件比較豐富,缺點是穩定性相對差點,文檔少,用戶少。
示例:該第三方模塊可以應用到python應用圖形化設計場景,其圖形化設計和代碼轉換可加快開發者的速度,其缺點也很明顯,缺點是庫比較大,發布出來的程序比較大
CSDN話題挑戰賽第1期
活動詳情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f