1. 程式人生 > 程式設計 >python GUI庫圖形介面開發之PyQt5工具欄控制元件QToolBar的詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5工具欄控制元件QToolBar的詳細使用方法與例項

PyQt5工具欄控制元件QToolBar介紹

QToolBar控制元件是由文字按鈕,圖示或其他小控制元件按鈕組成的可移動面板,通常位於選單欄下方

QToolBar類中的常用方法

方法 描述
addAction() 新增具有文字或圖示的工具按鈕
addSeperator() 分組顯示工具按鈕
addWidget() 新增工具欄中按鈕以外的控制元件
addToolBar() 使用QMainWindow類的方法新增一個新的工具欄
setMovable() 工具變得可移動
setOrientation() 工具欄的方向可以設定為Qt.Horizontal或Qt.certical

每當單擊工具欄中的按鈕時,都將發射actionTriggered訊號,另外,這個訊號將關聯的QAction物件的引用發到連線的槽函式上

QToolBar使用例項

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

class ToolBarDemo(QMainWindow):
  def __init__(self,parent=None):
    super(ToolBarDemo,self).__init__(parent)
    #設定標題與初始大小
    self.setWindowTitle('toolbar例子')
    self.resize(300,200)

    #垂直佈局
    layout=QVBoxLayout()

    #在工具欄區域新增檔案工具欄
    tb=self.addToolBar('File')
    #新增圖形按鈕
    new=QAction(QIcon('images\\new.png'),'new',self)
    tb.addAction(new)
    open=QAction(QIcon('images\open.png'),'open',self)
    tb.addAction(open)
    save=QAction(QIcon('images\save.png'),'save',self)
    tb.addAction(save)

    #圖形物件點選觸發自定義槽函式
    tb.actionTriggered[QAction].connect(self.toolbtnpressed)

    self.setLayout(layout)

  def toolbtnpressed(self,a):
    #輸出,點選地圖性按鈕
    print('pressed tool button is ',a.text())
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=ToolBarDemo()
  demo.show()
  sys.exit(app.exec_())

執行程式,顯示效果如圖

python GUI庫圖形介面開發之PyQt5工具欄控制元件QToolBar的詳細使用方法與例項

QToolBar程式碼分析

在這個例子中,首先呼叫addToolBar()方法在工具欄區域新增檔案工具欄

 tb=self.addToolBar('File')

然後,新增具有文字標題的工具按鈕,工具欄通常包含圖形按鈕,具有圖示和名稱的QAction物件將被新增到工具欄中

new=QAction(QIcon('images\\new.png'),self)
    tb.addAction(save)

最後,將actionTriggered訊號連線到槽函式toolbtnpressed()

tb.actionTriggered[QAction].connect(self.toolbtnpressed)

本文詳細講解了PyQt5工具欄控制元件QToolBar的詳細使用方法與例項,更多關於PyQt5庫控介紹請檢視下面的相關連結