PyQt - QToolBox 控制元件



QToolBox 是 PyQt 中的一個容器控制元件,用於組織多個內容頁面,就像瀏覽器中的多個標籤頁一樣。每個頁面包含一組與特定類別或主題相關的工具或資訊。QToolBox 通常用於使用者需要瀏覽不同工具或選項集的應用程式。

繼承關係

QToolBox 繼承自 QFrame 類,而 QFrame 類又繼承自 QWidget 類。

QToolBox 的組成部分

QToolBox 主要有兩個組成部分:

  • 標籤 - 標籤是控制元件頂部帶標籤的按鈕。點選標籤會將可見區域更改為頁面的特定內容。這類似於瀏覽器中的標籤頁。
  • 頁面 - 這些是包含與標籤級別相關的應用程式特定功能的單個控制元件或佈局。

QToolBox 控制元件的功能

  • 基於頁面的組織 - QToolBox 的內容被組織成頁面。每個頁面都有一個標題和相應的控制元件集。
  • 可擴充套件/摺疊頁面 - QToolBox 中的頁面可以擴充套件和摺疊,以減少螢幕空間併為使用者提供簡潔的介面。
  • 可自定義外觀 - 開發人員可以透過更改頁面的樣式、大小和佈局來自定義 QToolBox 控制元件的外觀。
  • 訊號槽機制 - QToolBox 提供可以連線到槽的訊號,這有助於響應使用者互動並更改控制元件的狀態。

QTollBox 中的方法

序號 模組及描述
1

addItem()

在工具箱底部新增一個新的標籤頁幷包含該控制元件。

2

count()

計算工具箱中包含的專案數量。

3

currentIndex()

返回當前專案的索引。

4

insertItem()

在索引位置插入控制元件,如果索引超出範圍則在工具箱底部插入。

5

itemToolTip()

返回特定索引處專案的工具提示。如果索引超出範圍則返回空字串。

6

itemText()

返回特定索引處專案的文字,如果索引超出範圍則返回空字串。

7

itemIcon()

返回特定專案索引處的圖示。

8

isItemEnabled()

如果特定索引處的專案已啟用則返回 true,否則返回 false。

9

removeItem()

從工具提示中刪除特定索引處的專案。

10

setItemEnabled()

如果 enabled 為 true,則啟用特定索引處的專案,否則停用該專案。

11

setItemIcon()

設定特定索引處專案的圖示。

12

setItemText()

設定特定索引或位置處專案的文字。

示例:帶多個標籤的文件檢視器

在下面的示例中,我們將使用 QToolBox 建立一個簡單的文件檢視器應用程式,以在單獨的標籤頁中顯示多個文件。我們可以透過選擇不同的標籤在文件之間切換。

import sys
from PyQt6.QtWidgets import QApplication, QToolBox, QTextEdit

class DocumentViewer(QToolBox):
   def __init__(self):
      super().__init__()
      self.setWindowTitle("Document Viewer")

      self.document1 = QTextEdit()
      self.document2 = QTextEdit()

      self.addItem(self.document1, "Document 1")
      self.addItem(self.document2, "Document 2")

def main():
   app = QApplication(sys.argv)
   viewer = DocumentViewer()
   viewer.show()
   sys.exit(app.exec())

if __name__ == "__main__":
   main()

輸出

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

pyqt qtoolbox example
廣告

© . All rights reserved.