PyQt5 - QToolBar 元件



QToolBar 元件是一個可移動的面板,包含文字按鈕、帶圖示的按鈕或其他元件。

它通常位於選單欄下方水平條中,但也可以是浮動的。QToolBar 類的某些有用方法如下:

序號 方法及描述
1

addAction()

新增帶有文字或圖示的工具按鈕

2

addSeperator()

將工具按鈕分組顯示

3

addWidget()

在工具欄中新增除按鈕之外的其他控制元件

4

addToolBar()

QMainWindow 類方法,新增一個新的工具欄

5

setMovable()

工具欄變為可移動

6

setOrientation()

工具欄方向設定為 Qt.Horizontal 或 Qt.vertical

每當單擊工具欄上的按鈕時,都會發出ActionTriggered() 訊號。此外,它還會將與事件關聯的 QAction 物件的引用傳送到連線的函式。

透過呼叫addToolBar() 方法,在工具欄區域新增一個檔案工具欄。

tb = self.addToolBar("File")

雖然可以新增帶有文字標題的工具按鈕,但工具欄通常包含圖形按鈕。將帶有圖示和名稱的 QAction 物件新增到工具欄。

new = QAction(QIcon("new.bmp"),"new",self)
tb.addAction(new)

類似地,新增開啟和儲存按鈕。

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

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

執行示例的完整程式碼如下:

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

class tooldemo(QMainWindow):
   def __init__(self, parent = None):
      super(tooldemo, self).__init__(parent)
      layout = QVBoxLayout()
      tb = self.addToolBar("File")
		
      new = QAction(QIcon("new.bmp"),"new",self)
      tb.addAction(new)
		
      open = QAction(QIcon("open.bmp"),"open",self)
      tb.addAction(open)
      save = QAction(QIcon("save.bmp"),"save",self)
      tb.addAction(save)
      tb.actionTriggered[QAction].connect(self.toolbtnpressed)
      self.setLayout(layout)
      self.setWindowTitle("toolbar demo")
		
   def toolbtnpressed(self,a):
      print "pressed tool button is",a.text()
		
def main():
   app = QApplication(sys.argv)
   
   ex = tooldemo()
   ex.show()
   sys.exit(app.exec_())
	
if __name__ == '__main__':
   main()

輸出

以上程式碼產生以下輸出:

QToolBar Widgets Output
廣告

© . All rights reserved.