PyQt5简介及demo
生活随笔
收集整理的這篇文章主要介紹了
PyQt5简介及demo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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的類別分為幾個模塊,包括以下:
- QtCore:包含了核心的非GUI功能。此模塊用于處理時間、文件和目錄、各種數據類型、流、URL、MIME類型、線程或進程。
- QtGui:包含類窗口系統集成、事件處理、二維圖形、基本成像、字體和文本。
- QtWidgets:包含創造經典桌面風格的用戶界面提供了一套UI元素的類。
- QtMultimedia:包含的類來處理多媒體內容和API來訪問相機和收音機的功能。
- QtBluetooth:包含類的掃描設備和連接并與他們互動。描述模塊包含了網絡編程的類。這些類便于TCP和IP和UDP客戶端和服務器的編碼,使網絡編程更容易和更便攜。
- QtNetwork
- QtPositioning:包含類的利用各種可能的來源,確定位置,包括衛星、Wi-Fi、或一個文本文件。
- Enginio:模塊實現了客戶端庫訪問Qt云服務托管的應用程序運行時。
- QtWebSockets:包含實現WebSocket協議類。
- QtWebKit:包含一個基于Webkit2圖書館Web瀏覽器實現類。
- QtWebKitWidgets:包含的類的基礎webkit1一用于qtwidgets應用Web瀏覽器的實現。
- QtXml:包含與XML文件的類。這個模塊為SAX和DOM API提供了實現。
- QtSvg:提供了顯示SVG文件內容的類。可伸縮矢量圖形(SVG)是一種描述二維圖形和圖形應用的語言。
- QtSql:提供操作數據庫的類。
- QtTest:包含測試的功能,使pyqt5應用程序的單元測試
?
PyQt4和PyQt5的區別
pyqt5不向后兼容pyqt4。pyqt5有幾個顯著的變化。將舊代碼調整到新庫并不困難。有幾個大的改變如下:
- Python模塊已經重組。一些模塊已經刪除(qtscript),有的被分割成子模塊(QtGui,QtWebKit)。
- 新的模塊作了詳細的介紹,包括qtbluetooth,qtpositioning,或enginio。
- pyqt5只支持新型的信號和槽handlig。電話signal()或slot()不再支持。
- pyqt5不支持Qt的API被標記為過時或陳舊的任何部分在QT V5.0。
?
Demo
本人曾寫過一個數字貨幣搬磚的界面,效果如下圖:
?
界面的設計用的是pyqt5,設計完成后使用命令??python -m PyQt5.uic.pyuic xxx.ui -o xxx.py? 轉換為python的代碼
轉換后的代碼:
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'test7.ui' # # Created by: PyQt5 UI code generator 5.11.2 # # WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Dialog(object):def setupUi(self, Dialog):Dialog.setObjectName("Dialog")Dialog.resize(753, 744)self.formLayoutWidget = QtWidgets.QWidget(Dialog)self.formLayoutWidget.setGeometry(QtCore.QRect(180, 30, 321, 411))self.formLayoutWidget.setObjectName("formLayoutWidget")self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)self.formLayout.setContentsMargins(0, 0, 0, 0)self.formLayout.setObjectName("formLayout")self.symbol_label = QtWidgets.QLabel(self.formLayoutWidget)self.symbol_label.setObjectName("symbol_label")self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.symbol_label)self.symbol_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.symbol_LineEdit.setObjectName("symbol_LineEdit")self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.symbol_LineEdit)self.amount_label = QtWidgets.QLabel(self.formLayoutWidget)self.amount_label.setObjectName("amount_label")self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.amount_label)self.amount_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.amount_LineEdit.setObjectName("amount_LineEdit")self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.amount_LineEdit)self.label_3 = QtWidgets.QLabel(self.formLayoutWidget)self.label_3.setText("")self.label_3.setObjectName("label_3")self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.label_3)self.rate_diff_label = QtWidgets.QLabel(self.formLayoutWidget)self.rate_diff_label.setObjectName("rate_diff_label")self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.rate_diff_label)self.rate_diff_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.rate_diff_LineEdit.setObjectName("rate_diff_LineEdit")self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.rate_diff_LineEdit)self.side_label = QtWidgets.QLabel(self.formLayoutWidget)self.side_label.setObjectName("side_label")self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.side_label)self.huobi_buy_gemini_sell = QtWidgets.QRadioButton(self.formLayoutWidget)self.huobi_buy_gemini_sell.setObjectName("huobi_buy_gemini_sell")self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.huobi_buy_gemini_sell)self.binance_buy_gemini_sell = QtWidgets.QRadioButton(self.formLayoutWidget)self.binance_buy_gemini_sell.setObjectName("binance_buy_gemini_sell")self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.binance_buy_gemini_sell)self.gemini_buy_huobi_sell = QtWidgets.QRadioButton(self.formLayoutWidget)self.gemini_buy_huobi_sell.setObjectName("gemini_buy_huobi_sell")self.formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.gemini_buy_huobi_sell)self.gemini_buy_binance_sell = QtWidgets.QRadioButton(self.formLayoutWidget)self.gemini_buy_binance_sell.setObjectName("gemini_buy_binance_sell")self.formLayout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.gemini_buy_binance_sell)self.buy_ApiKey_label = QtWidgets.QLabel(self.formLayoutWidget)self.buy_ApiKey_label.setObjectName("buy_ApiKey_label")self.formLayout.setWidget(11, QtWidgets.QFormLayout.LabelRole, self.buy_ApiKey_label)self.buy_ApiKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.buy_ApiKey_LineEdit.setObjectName("buy_ApiKey_LineEdit")self.formLayout.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.buy_ApiKey_LineEdit)self.buy_SecretKey_label = QtWidgets.QLabel(self.formLayoutWidget)self.buy_SecretKey_label.setObjectName("buy_SecretKey_label")self.formLayout.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.buy_SecretKey_label)self.buy_SecretKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.buy_SecretKey_LineEdit.setObjectName("buy_SecretKey_LineEdit")self.formLayout.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.buy_SecretKey_LineEdit)self.sell_ApiKey_label = QtWidgets.QLabel(self.formLayoutWidget)self.sell_ApiKey_label.setObjectName("sell_ApiKey_label")self.formLayout.setWidget(13, QtWidgets.QFormLayout.LabelRole, self.sell_ApiKey_label)self.sell_ApiKey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.sell_ApiKey_LineEdit.setObjectName("sell_ApiKey_LineEdit")self.formLayout.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.sell_ApiKey_LineEdit)self.sell_Secretkey_label = QtWidgets.QLabel(self.formLayoutWidget)self.sell_Secretkey_label.setObjectName("sell_Secretkey_label")self.formLayout.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.sell_Secretkey_label)self.sell_Secretkey_LineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)self.sell_Secretkey_LineEdit.setObjectName("sell_Secretkey_LineEdit")self.formLayout.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.sell_Secretkey_LineEdit)self.result_info = QtWidgets.QLabel(self.formLayoutWidget)self.result_info.setText("")self.result_info.setObjectName("result_info")self.formLayout.setWidget(15, QtWidgets.QFormLayout.SpanningRole, self.result_info)self.label = QtWidgets.QLabel(Dialog)self.label.setGeometry(QtCore.QRect(160, 10, 231, 19))self.label.setObjectName("label")self.gemini_currency_label = QtWidgets.QLabel(Dialog)self.gemini_currency_label.setGeometry(QtCore.QRect(170, 580, 101, 20))self.gemini_currency_label.setObjectName("gemini_currency_label")self.gemini_usd_label = QtWidgets.QLabel(Dialog)self.gemini_usd_label.setGeometry(QtCore.QRect(170, 610, 101, 20))self.gemini_usd_label.setObjectName("gemini_usd_label")self.exchange_currency_label = QtWidgets.QLabel(Dialog)self.exchange_currency_label.setGeometry(QtCore.QRect(170, 640, 101, 20))self.exchange_currency_label.setObjectName("exchange_currency_label")self.exchange_usd_label = QtWidgets.QLabel(Dialog)self.exchange_usd_label.setGeometry(QtCore.QRect(170, 670, 101, 20))self.exchange_usd_label.setObjectName("exchange_usd_label")self.result_label = QtWidgets.QLabel(Dialog)self.result_label.setGeometry(QtCore.QRect(170, 470, 60, 16))self.result_label.setObjectName("result_label")self.trade_per_label = QtWidgets.QLabel(Dialog)self.trade_per_label.setGeometry(QtCore.QRect(210, 550, 60, 16))self.trade_per_label.setObjectName("trade_per_label")self.trade_per_text = QtWidgets.QTextBrowser(Dialog)self.trade_per_text.setGeometry(QtCore.QRect(280, 550, 121, 21))self.trade_per_text.setObjectName("trade_per_text")self.gemini_currency_text = QtWidgets.QTextBrowser(Dialog)self.gemini_currency_text.setGeometry(QtCore.QRect(280, 580, 251, 21))self.gemini_currency_text.setObjectName("gemini_currency_text")self.gemini_usd_text = QtWidgets.QTextBrowser(Dialog)self.gemini_usd_text.setGeometry(QtCore.QRect(280, 610, 251, 21))self.gemini_usd_text.setObjectName("gemini_usd_text")self.exchange_currency_text = QtWidgets.QTextBrowser(Dialog)self.exchange_currency_text.setGeometry(QtCore.QRect(280, 640, 251, 21))self.exchange_currency_text.setObjectName("exchange_currency_text")self.exchange_usd_text = QtWidgets.QTextBrowser(Dialog)self.exchange_usd_text.setGeometry(QtCore.QRect(280, 670, 251, 21))self.exchange_usd_text.setObjectName("exchange_usd_text")self.pushButton = QtWidgets.QPushButton(Dialog)self.pushButton.setGeometry(QtCore.QRect(220, 440, 141, 32))self.pushButton.setObjectName("pushButton")self.bid_price_label = QtWidgets.QLabel(Dialog)self.bid_price_label.setGeometry(QtCore.QRect(230, 490, 51, 20))self.bid_price_label.setObjectName("bid_price_label")self.bid_price_text = QtWidgets.QTextBrowser(Dialog)self.bid_price_text.setGeometry(QtCore.QRect(280, 490, 121, 21))self.bid_price_text.setObjectName("bid_price_text")self.ask_price_label = QtWidgets.QLabel(Dialog)self.ask_price_label.setGeometry(QtCore.QRect(230, 520, 51, 20))self.ask_price_label.setObjectName("ask_price_label")self.ask_price_text = QtWidgets.QTextBrowser(Dialog)self.ask_price_text.setGeometry(QtCore.QRect(280, 520, 121, 21))self.ask_price_text.setObjectName("ask_price_text")self.net_test_button = QtWidgets.QPushButton(Dialog)self.net_test_button.setGeometry(QtCore.QRect(40, 400, 113, 41))self.net_test_button.setObjectName("net_test_button")self.stop_btn = QtWidgets.QPushButton(Dialog)self.stop_btn.setGeometry(QtCore.QRect(390, 440, 141, 32))self.stop_btn.setObjectName("stop_btn")self.amount_ps_label_2 = QtWidgets.QLabel(Dialog)self.amount_ps_label_2.setGeometry(QtCore.QRect(420, 80, 228, 19))self.amount_ps_label_2.setObjectName("amount_ps_label_2")self.amount_ps_label = QtWidgets.QLabel(Dialog)self.amount_ps_label.setGeometry(QtCore.QRect(420, 60, 264, 19))self.amount_ps_label.setObjectName("amount_ps_label")self.symbol_ps_label = QtWidgets.QLabel(Dialog)self.symbol_ps_label.setGeometry(QtCore.QRect(420, 30, 168, 19))self.symbol_ps_label.setObjectName("symbol_ps_label")self.rate_ps_label = QtWidgets.QLabel(Dialog)self.rate_ps_label.setGeometry(QtCore.QRect(420, 120, 214, 19))self.rate_ps_label.setObjectName("rate_ps_label")self.retranslateUi(Dialog)QtCore.QMetaObject.connectSlotsByName(Dialog)def retranslateUi(self, Dialog):_translate = QtCore.QCoreApplication.translateDialog.setWindowTitle(_translate("Dialog", "Dialog"))self.symbol_label.setText(_translate("Dialog", "品種"))self.amount_label.setText(_translate("Dialog", "數量"))self.rate_diff_label.setText(_translate("Dialog", "利率差"))self.side_label.setText(_translate("Dialog", "買賣方向"))self.huobi_buy_gemini_sell.setText(_translate("Dialog", "huobi買,gemini賣"))self.binance_buy_gemini_sell.setText(_translate("Dialog", "binance買,gemini賣"))self.gemini_buy_huobi_sell.setText(_translate("Dialog", "gemini買,huobi賣"))self.gemini_buy_binance_sell.setText(_translate("Dialog", "gemini買,binance賣"))self.buy_ApiKey_label.setText(_translate("Dialog", "買_ApiKey"))self.buy_SecretKey_label.setText(_translate("Dialog", "買_SecretKey"))self.sell_ApiKey_label.setText(_translate("Dialog", "賣_ApiKey"))self.sell_Secretkey_label.setText(_translate("Dialog", "賣_Secret_key"))self.label.setText(_translate("Dialog", "輸入參數"))self.gemini_currency_label.setText(_translate("Dialog", "gemini-品種余額"))self.gemini_usd_label.setText(_translate("Dialog", "gemini-usd余額"))self.exchange_currency_label.setText(_translate("Dialog", " 交易所-品種余額"))self.exchange_usd_label.setText(_translate("Dialog", "交易所-usdt余額"))self.result_label.setText(_translate("Dialog", "結果"))self.trade_per_label.setText(_translate("Dialog", "交易進度"))self.pushButton.setText(_translate("Dialog", "開始"))self.bid_price_label.setText(_translate("Dialog", "買一價"))self.ask_price_label.setText(_translate("Dialog", "賣一價"))self.net_test_button.setText(_translate("Dialog", "點擊測試網絡"))self.stop_btn.setText(_translate("Dialog", "停止"))self.amount_ps_label_2.setText(_translate("Dialog", " binance:10usdt交易額"))self.amount_ps_label.setText(_translate("Dialog", "注:最小交易量: huobi:eth--0.01,btc--0.001"))self.symbol_ps_label.setText(_translate("Dialog", "注:輸入幣種名(btc | eth)"))self.rate_ps_label.setText(_translate("Dialog", "注:輸入小數,如0.18%即填0.18 ")) ui_demo?
?
? ? ? ??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/zhuminghui/p/9507887.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的PyQt5简介及demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ICA(独立成分分析)笔记
- 下一篇: Maven内置变量说明