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
广告