目錄
Qt Designer的設定
QtDisigner設定
PyUIC設定
PyRCC設定
PyQt5使用範例
PyQt5实战
1、使用Qt Designer设计一个界面
2、转换.ui文件为.py文件
3、调用MainDialog
4、将代码打包成exe文件
首頁 後端開發 Python教學 超全! Python圖形介面框架PyQt5使用指南!

超全! Python圖形介面框架PyQt5使用指南!

Apr 13, 2023 am 08:43 AM
python 圖形介面 pyqt5

超全! Python圖形介面框架PyQt5使用指南!

常見GUI框架

  •  PyQt5:Qt是一個跨平台的 C 圖形使用者介面庫。 QT一度被諾基亞擁,後來賣給芬蘭的軟體公司Digia Oyj。 PyQt5是基於Digia公司Qt5的Python接口,由一組Python模組構成。 PyQt5本身擁有超過620個類別和6000函數及方法。在可以運行於多個平台,包括:Unix, Windows, and Mac OS。
  •  Pyside6:Pyside是QT公司官方提供的Python包,上一版本為Pyside2,對應的是QT5,最新版命名規則進行了調整,更改為Pyside6,對應的是QT6版本。由於官方出品的比較看好,缺點是發布比較晚,網路上的資料沒有PyQt5以上。
  •  Tkinter:Python內建的GUI框架,使用TCL實現,Python中內嵌了TCL解釋器,使用它的時候不用安裝額外的擴充包,直接import,跨平台。缺點在於UI佈局全靠程式碼實現,只有15種常用部件,顯示效果簡陋。
  •  PySimpleGUI:PySimpleGUI 是 Tkinter 一層包裝。使用 PySimpleGUI 實作自訂 GUI 所需的程式碼量比使用 Tkinter 直接編寫相同的 GUI 要少得多。
  •  WxPython:wxPython是Python語言對流行的wxWidgets跨平台GUI工具庫的綁定。用得比較廣泛,跨平台,C 寫,文件少,使用者可能就需要根據程式內容對不同平台中的GUI程式碼做一些調整。遇到問題不好解決,程式碼佈局控件,不直覺。
  •  Wax:基於wxPython ,為克服wxPython的問題而製作的一個套件。
  •  Kivy:主要針對多點觸控程序,智慧型手機平板等,也可以在沒有觸控螢幕功能的系統上,全平台支援(Windows, Linux, Mac OS X, Android and iOS .)使用Python和cython編寫,中文支援差,需要自己下載中文庫並且制定路徑。
  •  BeeWare:Write once. Deploy everywhere.需要與Kivy搭配使用。
  •  Toga:一個使用Python開發原生APP的GUI工具包。 Toga由一個具有共用介面的基礎元件庫組成,以簡化與平台無關的GUI開發。 Toga適用於Mac OS、Windows、Linux(GTK)以及Android和iOS等行動平台。
  •  Eel:一個輕量級的Python 庫,用於製作簡單的類似於Electron(但是比它更輕量) 的離線HTML/JS GUI 應用程序,並具有對Python 功能(capabilities )和庫的完全存取權限。
  •  Flexx:一個純 Python 工具包,用來創建圖形化介面應用程式。其使用 Web 技術進行介面的渲染。你可以用 Flexx 來建立桌面應用,同時也可以匯出一個應用到獨立的 HTML 文件。因為使用純 Python 開發,所以 Flexx 是跨平台的。只需要有 Python 和瀏覽器就可以運作。
  •  pywebview是圍繞 webview 元件的輕量型跨平台包裝器(wrapper),它允許在其自己的本機 GUI 視窗中顯示 HTML 內容。它使您可以在桌面應用程式中使用 Web 技術,同時盡可能隱藏使用瀏覽器建立GUI的事實。
  •  enaml:一種能讓你用最小的努力就可以實現高品質GUI介面的的Python框架,也是一種獨特的程式語言。 enaml將聲明性語言與基於約束的佈局系統結合在一起,使用戶可以輕鬆定義靈活佈局的UI。 enaml應用程式可以在任何支援Python和Qt的平台上運行。

個人想法:太多學不完,先學PyQt5,原因是資料多,學有餘力再學pyside6,最後看下PySimpleGUI,看能否解決一些簡單問題。

PyQt5簡介

PyQt是Qt框架的Python語言實現,由Riverbank Computing開發,是最強大的GUI庫之一。 PyQt提供了一個設計良好的視窗控件集合,每個PyQt控件都對應一個Qt控件,因此PyQt的API介面與Qt的API介面很接近,但PyQt不再使用QMake系統和Q_OBJECT巨集。

PyQt5提供GPL版和商業版證書,自由開發者可以使用免費的GPL許可,如果需要將PyQt用於商業應用,則必須購買商業許可。

PyQt5特性如下:

#
  •  基於高效能的Qt的GUI控制集。
  •  能夠跨平台運作在Linux、Window和Mac OS系統上。
  •  使用訊號槽機制進行通訊。
  •  對Qt庫進行完全封裝。
  •  可以使用成熟的IDE進行介面設計,並自動產生可執行的Python程式碼。
  •  提供一整套種類齊全的視窗控制項。
  •  PyQt5是由一系列Python模組組成,有超過620個類,6000個函數和方法,主要模組如下:
  •  QtCore:包含了核心的非GUI 的功能。主要和時間、檔案與資料夾、各種資料、流、URLs、mime 類別檔案、進程與執行緒一起使用。
  •  QtGui:包含了視窗系統、事件處理、2D 圖像、基本繪畫、字體和文字類別。
  •  QtWidgets:包含了一系列創建桌面應用程式的 UI 元素。
  •  QtMultimedia:包含了處理多媒體的內容和呼叫攝影機 API 的類別。
  •  QtBluetooth:包含了尋找和連接藍牙的類別。
  •  QtNetwork:包含了網路程式設計的類,這些工具能讓 TCP/IP 和 UDP 開發變得更加方便和可靠。
  •  QtPositioning:包含了定位的類,可以使用衛星、WiFi 甚至文字。
  •  Enginio:包含了透過用戶端進入和管理 Qt Cloud 的類別。
  •  QtWebSockets:包含了 WebSocket 協定的類別。
  •  QtWebKit:包含了一個基底 WebKit2 的 web 瀏覽器。
  •  QtWebKitWidgets:包含了基於 QtWidgets 的 WebKit1 的類別。
  •  QtXml:包含了處理 xml 的類,提供了 SAX 和 DOM API 的工具。
  •  QtSvg:提供了顯示SVG 內容的類,Scalable Vector Graphics (SVG) 是一種是一種基於可擴展標記語言(XML),用於描述二維向量圖形的圖形格式(這句話出自維基百科)。
  •  QtSql:提供了處理資料庫的工具。
  •  QtTest:提供了測試 PyQt5 應用的工具。

PyQt5的安裝

由於後期要使用fbs打包,fbs對Python 3.7以後的版本可能有相容問題,所以我選擇了Python 3.6 .8進行了整個環境的搭建。主要內容為:Python PyCharm PyQt5  

安裝PyQt5

雷雷

其中pyqt5-tools為Qt Designer拖曳式的介面設計工具。安裝過程中可能會報如下錯誤:

qt5-tools 5.15.2.1.2 has requirement click~=7.0, but you'll have click 8.0.1 which is incompatible.
登入後複製

解決方案:

pip install click~=7.0
登入後複製

Qt Designer的設定

Qt Designer 是透過拖拽的方式放置控件,並即時查看控件效果進行快速UI設計。

超全! Python圖形介面框架PyQt5使用指南!

整個畫面的構成:

  • # 左邊的「Widget Box」就是各種可以自由拖曳的元件
  •  中間的「MainWindow – untitled」窗體就是畫布
  •  右上方的」Object Inspector」可以檢視目前ui的結構
  •  右側中部的」Property Editor」可以設定目前選取組件的屬性
  •  右下方的」Resource Browser」可以新增各種素材,例如圖片,背景等等

最終產生.ui檔案(實質上是XML格式的檔案),可直接使用,也可以透過pyuic5工具轉換成.py檔案。

QtDisigner設定

在Pycharm中,依序開啟File – Settings – Tools – External Tools,點選Create Tool,設定如下:

Name: QtDisigner
Program : D:Program FilesPython36Libsite-packagesqt5_applicationsQtbindesigner.exe # 请根据实际修改
Working directory: $FileDir$
登入後複製

PyUIC設定

PyUIC主要是把Qt Designer產生的.ui檔換成.py檔。

在Pycharm中,依序開啟File – Settings – Tools – External Tools,點選Create Tool,設定如下:

Name: PyUIC
Program : D:Program FilesPython36python.exe # 当前Python目录,请根据实际修改
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$
登入後複製

PyRCC設定

PyRCC主要是把編寫的.qrc資源檔換成.py檔。在Pycharm中,依序開啟File – Settings – Tools – External Tools,點選Create Tool,設定如下:

Name: PyRCC
Program: D:Program FilesPython36pyrcc5.exe # 当前rcc工具目录,请根据实际修改
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory: $FileDir$
登入後複製

PyQt5使用範例

#建立一個空白的介面:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(400, 400, 400, 300)
win.setWindowTitle("Pyqt5 Tutorial")
win.show()
sys.exit(app.exec_())
登入後複製

超全! Python圖形介面框架PyQt5使用指南!

其中:

#
  • Qapplication():每个GUI都必须包含一个Qapplication,argv表示获取命令行参数,如果不用获取,则可以使用[]代替。
  • QMainWindow():类似一个容器(窗口)用来包含按钮、文本、输入框等widgets。arg标识可以获取命令行执行时的参数。
  • SetGeometry是用来定义 QMainWindow() 窗口的尺寸, 语法:setGeometry(x, y, width, height ),其中x,y为屏幕上的坐标点。
  • show():用来显示窗口
  • exit(app.exec_()):设置窗口一直运行指导使用关闭按钮进行关闭

PyQt5支持的常见Widgets有:

超全! Python圖形介面框架PyQt5使用指南!

从上到下,从左到右依次为:Qlabel、QcomboBox、QcheckBox、QradioButton、QpushButton、QtableWidget、QlineEdit、Qslider、QProgressBar

对于使用Pyqt5设置文本内容,我们使用Qlabel:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(400, 400, 400, 300)
win.setWindowTitle("Pyqt5 Tutorial")
# Label Text
label = QLabel(win)
label.resize(200, 100)
label.setText("Hi this is Pyqt5")
label.move(100, 100)
win.show()
sys.exit(app.exec_())
登入後複製

超全! Python圖形介面框架PyQt5使用指南!

按钮与事件:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
def click():
 print("Hy Button is clicked!")
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(400, 400, 400, 300)
win.setWindowTitle("Pyqt5 Tutorial")
# Button
button = QPushButton(win)
button.resize(200, 100)
button.setText("Hi! Click Me")
button.move(100, 100)
button.clicked.connect(click)
win.show()
sys.exit(app.exec_())
登入後複製

超全! Python圖形介面框架PyQt5使用指南!

button.clicked.connect() 在按钮点击后执行特定的事件。

PyQt5实战

实战项目:简易的天气查询软件

1、使用Qt Designer设计一个界面

超全! Python圖形介面框架PyQt5使用指南!

用到的控件有Button, GroupBox, Label,ComboBox,TextEdit,同时定义了两个按钮queryBtn及clearBtn,分别用来查询及清空天气数据。我们需要绑定槽函数,方法如下:

  • 在Qt Designer右下角选择 信号/槽编辑器,点击+号新增
  • 分别选择queryBtn及clearBtn,选择信号 clicked(), 接收者 Dialog 及槽 accept(),(槽函数这里不知道如何定义,后期在代码里再进行修改)

以上完成后保存为Weather.ui文件。

2、转换.ui文件为.py文件

PyQt5支持直接使用.ui文件:

import sys
from PyQt5 import QtWidgets, uic
app = QtWidgets.QApplication(sys.argv)
window = uic.loadUi("mainwindow.ui")
window.show()
app.exec()
登入後複製

但是为了更好的自定义及修改上面的槽函数,可以使用External Tools – PyUIC,即可生成Weather.py,实际运行命令如下:

D:Program FilesPython36python.exe -m PyQt5.uic.pyuic Weather.ui -o Weather.py
登入後複製

其中,我们需要把两个按钮绑定的槽函数:

# self.queryBtn.clicked.connect(Dialog.accept)
# self.clearBtn.clicked.connect(Dialog.accept)
# 修改为:
self.queryBtn.clicked.connect(Dialog.queryWeather)
self.clearBtn.clicked.connect(Dialog.clearText)
登入後複製

最终的Weather.py内容如下:

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'Weather.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.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
 def setupUi(self, Dialog):
 Dialog.setObjectName("Dialog")
 Dialog.resize(600, 600)
 self.groupBox = QtWidgets.QGroupBox(Dialog)
 self.groupBox.setGeometry(QtCore.QRect(30, 20, 551, 511))
 self.groupBox.setObjectName("groupBox")
 self.label_2 = QtWidgets.QLabel(self.groupBox)
 self.label_2.setGeometry(QtCore.QRect(20, 30, 31, 16))
 self.label_2.setObjectName("label_2")
 self.comboBox = QtWidgets.QComboBox(self.groupBox)
 self.comboBox.setGeometry(QtCore.QRect(70, 30, 87, 22))
 self.comboBox.setObjectName("comboBox")
 self.comboBox.addItem("")
 self.comboBox.addItem("")
 self.comboBox.addItem("")
 self.textEdit = QtWidgets.QTextEdit(self.groupBox)
 self.textEdit.setGeometry(QtCore.QRect(20, 70, 491, 411))
 self.textEdit.setObjectName("textEdit")
 self.queryBtn = QtWidgets.QPushButton(Dialog)
 self.queryBtn.setGeometry(QtCore.QRect(490, 560, 93, 28))
 self.queryBtn.setObjectName("queryBtn")
 self.clearBtn = QtWidgets.QPushButton(Dialog)
 self.clearBtn.setGeometry(QtCore.QRect(30, 560, 93, 28))
 self.clearBtn.setObjectName("clearBtn")
 self.retranslateUi(Dialog)
 self.clearBtn.clicked.connect(Dialog.clearText)
 self.queryBtn.clicked.connect(Dialog.queryWeather)
 QtCore.QMetaObject.connectSlotsByName(Dialog)
 def retranslateUi(self, Dialog):
 _translate = QtCore.QCoreApplication.translate
 Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
 self.groupBox.setTitle(_translate("Dialog", "城市天气预报"))
 self.label_2.setText(_translate("Dialog", "城市"))
 self.comboBox.setItemText(0, _translate("Dialog", "北京"))
 self.comboBox.setItemText(1, _translate("Dialog", "苏州"))
 self.comboBox.setItemText(2, _translate("Dialog", "上海"))
 self.queryBtn.setText(_translate("Dialog", "查询"))
 self.clearBtn.setText(_translate("Dialog", "清空"))
登入後複製

3、调用MainDialog

在MainDialog中调用界面类Ui_Dialog,然后在其中中添加查询天气的业务逻辑代码,这样就做到了界面显示和业务逻辑的分离。新增demo.py文件, 在MainDialog类中定义了两个槽函数queryWeather()和clearText(),以便在界面文件Weather.ui中定义的两个按钮(queryBtn 和clearBtn) 触发clicked 信号与这两个槽函数进行绑定。

完整代码如下:

import sys
import Weather
from PyQt5.QtWidgets import QApplication, QDialog
import requests
class MainDialog(QDialog):
 def __init__(self, parent=None):
 super(QDialog, self).__init__(parent)
 self.ui = Weather.Ui_Dialog()
 self.ui.setupUi(self)
 def queryWeather(self):
 cityName = self.ui.comboBox.currentText()
 cityCode = self.getCode(cityName)
 r = requests.get(
 "https://restapi.amap.com/v3/weather/weatherInfo?key=f4fd5b287b6d7d51a3c60fee24e42002&city={}".format(
 cityCode))
 if r.status_code == 200:
 data = r.json()['lives'][0]
 weatherMsg = '城市:{}n天气:{}n温度:{}n风向:{}n风力:{}n湿度:{}n发布时间:{}n'.format(
 data['city'],
 data['weather'],
 data['temperature'],
 data['winddirection'],
 data['windpower'],
 data['humidity'],
 data['reporttime'],
 )
 else:
 weatherMsg = '天气查询失败,请稍后再试!'
 self.ui.textEdit.setText(weatherMsg)
 def getCode(self, cityName):
 cityDict = {"北京": "110000",
 "苏州": "320500",
 "上海": "310000"}
 **return** cityDict.get(cityName, '101010100')
 def clearText(self):
 self.ui.textEdit.clear()
if __name__ == '__main__':
 myapp = QApplication(sys.argv)
 myDlg = MainDialog()
 myDlg.show()
 sys.exit(myapp.exec_())
登入後複製

运行demo.py并执行查询后的效果:

超全! Python圖形介面框架PyQt5使用指南!

4、将代码打包成exe文件

将.py文件打包成可执行的exe在Python中称为freezing,常用的工具有:PyInstaller, py2exe, cx_Freeze, bbfreze, py2app等。功能对比:

超全! Python圖形介面框架PyQt5使用指南!

  • py2exe:软件更新已经不活跃,因此也就略过。
  • pyinstaller:明确支持win8、win10、理论上支持win7,,支持apple Macos, linux。pyinsaller可以打包成文件夹形式内含exe入口执行文件的形式,也可以是一个单独的exe文件。
  • fbs:基于PyInstaller,使用起来更加方便

这里选择了fbs来打包。fbs的安装方法:

pip install fbs
登入後複製

使用方法,在命令行中输入:

fbs startproject
登入後複製

执行完成后需要输入一些APP的名称等。完成后会生成如下目录:

超全! Python圖形介面框架PyQt5使用指南!

将刚才编写的PyQt5的代码(demo.py和Weather.py)拖到src/main/python文件夹下,删除原有的main.py,并将demo.py修改为main.py。然后打开 main.py,在文件头部添加如下代码:

from fbs_runtime.application_context.PyQt5 import ApplicationContext
```
完成后执行:
```
fbs freeze
```
即可实现打包。生成的exe可执行文件在targetMyApp文件下。
登入後複製

以上是超全! Python圖形介面框架PyQt5使用指南!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HadiDB:Python 中的輕量級、可水平擴展的數據庫 HadiDB:Python 中的輕量級、可水平擴展的數據庫 Apr 08, 2025 pm 06:12 PM

HadiDB:輕量級、高水平可擴展的Python數據庫HadiDB(hadidb)是一個用Python編寫的輕量級數據庫,具備高度水平的可擴展性。安裝HadiDB使用pip安裝:pipinstallhadidb用戶管理創建用戶:createuser()方法創建一個新用戶。 authentication()方法驗證用戶身份。 fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

2小時的Python計劃:一種現實的方法 2小時的Python計劃:一種現實的方法 Apr 11, 2025 am 12:04 AM

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Navicat查看MongoDB數據庫密碼的方法 Navicat查看MongoDB數據庫密碼的方法 Apr 08, 2025 pm 09:39 PM

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。

Python:探索其主要應用程序 Python:探索其主要應用程序 Apr 10, 2025 am 09:41 AM

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

如何針對高負載應用程序優化 MySQL 性能? 如何針對高負載應用程序優化 MySQL 性能? Apr 08, 2025 pm 06:03 PM

MySQL數據庫性能優化指南在資源密集型應用中,MySQL數據庫扮演著至關重要的角色,負責管理海量事務。然而,隨著應用規模的擴大,數據庫性能瓶頸往往成為製約因素。本文將探討一系列行之有效的MySQL性能優化策略,確保您的應用在高負載下依然保持高效響應。我們將結合實際案例,深入講解索引、查詢優化、數據庫設計以及緩存等關鍵技術。 1.數據庫架構設計優化合理的數據庫架構是MySQL性能優化的基石。以下是一些核心原則:選擇合適的數據類型選擇最小的、符合需求的數據類型,既能節省存儲空間,又能提升數據處理速度

如何將 AWS Glue 爬網程序與 Amazon Athena 結合使用 如何將 AWS Glue 爬網程序與 Amazon Athena 結合使用 Apr 09, 2025 pm 03:09 PM

作為數據專業人員,您需要處理來自各種來源的大量數據。這可能會給數據管理和分析帶來挑戰。幸運的是,兩項 AWS 服務可以提供幫助:AWS Glue 和 Amazon Athena。

redis怎麼啟動服務器 redis怎麼啟動服務器 Apr 10, 2025 pm 08:12 PM

啟動 Redis 服務器的步驟包括:根據操作系統安裝 Redis。通過 redis-server(Linux/macOS)或 redis-server.exe(Windows)啟動 Redis 服務。使用 redis-cli ping(Linux/macOS)或 redis-cli.exe ping(Windows)命令檢查服務狀態。使用 Redis 客戶端,如 redis-cli、Python 或 Node.js,訪問服務器。

redis怎麼讀取隊列 redis怎麼讀取隊列 Apr 10, 2025 pm 10:12 PM

要從 Redis 讀取隊列,需要獲取隊列名稱、使用 LPOP 命令讀取元素,並處理空隊列。具體步驟如下:獲取隊列名稱:以 "queue:" 前綴命名,如 "queue:my-queue"。使用 LPOP 命令:從隊列頭部彈出元素並返回其值,如 LPOP queue:my-queue。處理空隊列:如果隊列為空,LPOP 返回 nil,可先檢查隊列是否存在再讀取元素。

See all articles