1. 程式人生 > 程式設計 >python GUI庫圖形介面開發之PyQt5狀態列控制元件QStatusBar詳細使用方法例項

python GUI庫圖形介面開發之PyQt5狀態列控制元件QStatusBar詳細使用方法例項

PyQt5狀態列控制元件QStatusBar簡介

MainWindow物件在底部保留有一個水平條,作為狀態列(QstatusBar),用於顯示永久或臨時的狀態資訊

QStatusBar類中的常用方法

方法 描述
addWidget() 在狀態列中新增給定的視窗小控制元件物件
addPermanentWidget() 在狀態列中永久新增給定的視窗小控制元件物件
showMessage() 在狀態列顯示一條臨時資訊,指定時間間隔
clearMessage() 刪除正在顯示的臨時資訊
removeWidget() 從狀態列中移除指定的小控制元件

QStatusBar的使用例項

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class StatusDemo(QMainWindow):
  def __init__(self,parent=None):
    super(StatusDemo,self).__init__(parent)

    #例項化選單欄
    bar=self.menuBar()
    #新增父選單
    file=bar.addMenu('File')
    #新增子選單
    file.addAction('show')
    #當選單物件被點選時,觸發繫結的自定義的槽函式
    file.triggered[QAction].connect(self.processTrigger)

    #設定當行文字輸入框為中間控制元件
    self.setCentralWidget(QTextEdit())

    #例項化狀態列
    self.statusBar=QStatusBar()

    self.setWindowTitle('QStatusBar例子')

    #設定狀態列,類似佈局設定
    self.setStatusBar(self.statusBar)

  def processTrigger(self,q):

    if (q.text()=='show'):
      #設定狀態列的顯示文字以及顯示時間
      self.statusBar.showMessage(q.text()+'選單選項被點選了',5000)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=StatusDemo()
  demo.show()
  sys.exit(app.exec_())

執行效果如下

python GUI庫圖形介面開發之PyQt5狀態列控制元件QStatusBar詳細使用方法例項

QStatusBar程式碼分析

在這個例子中,頂層視窗MainWindow有一個選單欄和一個QTextEdit物件,作為中心控制元件

當單擊MenuBar的選單時,將triggered訊號與槽函式進行繫結

#當選單物件被點選時,觸發繫結的自定義的槽函式
file.triggered[QAction].connect(self.processTrigger)

當單擊show選單選項時,會在狀態列提示資訊,5秒後消失

#設定狀態列的顯示文字以及顯示時間
self.statusBar.showMessage(q.text()+'選單選項被點選了',5000)

通過主視窗的QMainWindow的setStatusBar()函式設定狀態列,核心程式碼如下

#例項化狀態列
self.statusBar=QStatusBar()
#設定狀態列,類似佈局設定
self.setStatusBar(self.statusBar)

本文主要講解了PyQt5狀態列控制元件QStatusBar詳細使用方法與例項,更多關於PyQt5控制元件知識請檢視下面的相關連結