1. 程式人生 > 實用技巧 >選單欄、工具欄與狀態列—QToolBar

選單欄、工具欄與狀態列—QToolBar

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

QToolBar類中的常用方法:
  addAction()    新增具有文字或圖示的工具按鈕

  addSeperator()   分組顯示工具按鈕

  addWidget()    新增工具欄中按鈕以外的控制元件

  addToolBar()    使用QMainWindow類的方法新增一個新的工具欄

  setMovable()    工具欄變得可移動

  setOrientation()   工具欄的方向可以設定為Qt.Horizontal或Qt.Vertical

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

案例35 QToolBar的使用

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout, QAction
from PyQt5.QtGui import QIcon


class ToolBarDemo(QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle("ToolBar 例子")
        self.resize(
300, 200) layout = QVBoxLayout() tb = self.addToolBar("File") new = QAction("new", self) # new = QAction(QIcon("./images/new.png"), "new", self) tb.addAction(new) open = QAction("open", self) tb.addAction(open) save = QAction("save", self) tb.addAction(save) tb.actionTriggered[QAction].connect(self.toolbtnpressed) self.setLayout(layout)
def toolbtnpressed(self, a): print("pressed tool button", a.text()) if __name__ == "__main__": app = QApplication(sys.argv) demo = ToolBarDemo() demo.show() sys.exit(app.exec_())