- PyQt 教程
- PyQt - 首頁
- PyQt - 簡介
- PyQt - 環境搭建
- PyQt - Hello World
- PyQt - 主要類
- PyQt - 使用 Qt Designer
- PyQt - 元物件
- PyQt 訊號與槽
- PyQt - 訊號和槽
- PyQt - 支援和訊號
- PyQt - 未繫結和已繫結訊號
- PyQt - 使用 PyQtSignal 建立新的訊號
- PyQt - 連線、斷開和發射訊號
- PyQt - 槽裝飾器
- PyQt - 槽連線
- PyQt 佈局
- PyQt - 佈局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控制元件
- PyQt - 基本控制元件
- PyQt - QLabel 控制元件
- PyQt - QLineEdit 控制元件
- PyQt - QPushButton 控制元件
- PyQt - QRadioButton 控制元件
- PyQt - QCheckBox 控制元件
- PyQt - QComboBox 控制元件
- PyQt - QSpinBox 控制元件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控制元件
- PyQt - QFontComboBox 控制元件
- PyQt - QDoubleSpinBox 控制元件
- PyQt - QToolBox 控制元件
- PyQt - QDialog 類
- PyQt - QMessageBox
- PyQt - 多文件介面
- PyQt - 拖放操作
- PyQt 繪圖 API
- PyQt - 繪圖 API
- PyQt 資料庫
- PyQt - 資料庫處理
- PyQt 基礎
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 類
- PyQt 有用資源
- PyQt - 快速指南
- PyQt - 有用資源
- PyQt - 討論
PyQt - 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 PyQt4.QtCore import *
from PyQt4.QtGui 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()
以上程式碼產生以下輸出:
廣告