本页内容

QToolBox Class

QToolBox 类提供了一列带标签的控件项。更多...

标题: #include <QToolBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QFrame

属性

公共函数

QToolBox(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
virtual ~QToolBox()
int addItem(QWidget *widget, const QIcon &iconSet, const QString &text)
int addItem(QWidget *w, const QString &text)
int count() const
int currentIndex() const
QWidget *currentWidget() const
int indexOf(const QWidget *widget) const
int insertItem(int index, QWidget *widget, const QIcon &icon, const QString &text)
int insertItem(int index, QWidget *widget, const QString &text)
bool isItemEnabled(int index) const
QIcon itemIcon(int index) const
QString itemText(int index) const
QString itemToolTip(int index) const
void removeItem(int index)
void setItemEnabled(int index, bool enabled)
void setItemIcon(int index, const QIcon &icon)
void setItemText(int index, const QString &text)
void setItemToolTip(int index, const QString &toolTip)
QWidget *widget(int index) const

公共槽位

void setCurrentIndex(int index)
void setCurrentWidget(QWidget *widget)

信号

void currentChanged(int index)

受保护函数

virtual void itemInserted(int index)
virtual void itemRemoved(int index)

重新实现的受保护函数

virtual void changeEvent(QEvent *ev) override
virtual bool event(QEvent *e) override
virtual void showEvent(QShowEvent *e) override

详细说明

工具箱是一种小部件,它显示一列上下排列的标签页,当前项目显示在当前标签页下方。每个标签页在标签页列中都有一个索引位置。标签页的项目是一个QWidget 。

每个项目都具有一个itemText()、一个可选的itemIcon()、一个可选的itemToolTip()以及一个widget()。可以通过setItemText()、setItemIcon()和setItemToolTip()来更改项目的属性。每个项目均可通过setItemEnabled()单独启用或禁用。

可通过addItem() 添加项目,或使用insertItem() 将其插入特定位置。项目总数可通过count() 获取。可使用 delete 删除项目,或使用removeItem() 将其从工具箱中移除。结合使用removeItem() 和insertItem() 可将项目移动到不同位置。

当前项目控件的索引由currentIndex()返回,并通过setCurrentIndex()设置。可通过indexOf()查找特定项目的索引,而item()则返回指定索引处的项目。

当当前项目发生变化时,会发出currentChanged() 信号。

另请参阅 QTabWidget 。

属性文档

[read-only] count : int

该属性存储工具箱中包含的项目数量。

默认情况下,该属性的值为 0。

访问函数:

int count() const

currentIndex : int

该属性存储当前项的索引

默认情况下,对于空工具箱,该属性的值为 -1。

访问函数:

int currentIndex() const
void setCurrentIndex(int index)

通知信号:

void currentChanged(int index)

另请参阅 indexOf() 和widget()。

成员函数文档

[explicit] QToolBox::QToolBox(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())

使用给定的parent 和标志f 构建一个新的工具箱。

[virtual noexcept] QToolBox::~QToolBox()

摧毁了工具箱。

int QToolBox::addItem(QWidget *widget, const QIcon &iconSet, const QString &text)

在工具箱底部的新标签页中添加“widget ”。新标签页的文本设置为“text ”,且“iconSet ”显示在“text ”的左侧。返回新标签页的索引。

int QToolBox::addItem(QWidget *w, const QString &text)

在工具箱底部的新标签页中添加小部件“w ”。该新标签页的文本设置为“text ”。返回该新标签页的索引。

这是一个重载函数。

[override virtual protected] void QToolBox::changeEvent(QEvent *ev)

重写了:QFrame::changeEvent(QEvent *ev)。

[signal] void QToolBox::currentChanged(int index)

当当前项目发生变化时,会触发此信号。index 中会传入新当前项目的索引,如果不存在当前项目,则传入 -1。

注意: 这是属性currentIndex 的通知器 信号。

QWidget *QToolBox::currentWidget() const

返回指向当前控件的指针;如果不存在该控件,则返回nullptr 。

另请参阅 currentIndex() 和setCurrentWidget()。

[override virtual protected] bool QToolBox::event(QEvent *e)

重写了:QFrame::event(QEvent *e)。

int QToolBox::indexOf(const QWidget *widget) const

返回widget 的索引;如果该项不存在,则返回-1。

int QToolBox::insertItem(int index, QWidget *widget, const QIcon &icon, const QString &text)

将widget 插入到位置index 处,如果index 超出范围,则插入到工具箱底部。新项的文本设置为text ,icon 显示在text 的左侧。返回新项的索引。

int QToolBox::insertItem(int index, QWidget *widget, const QString &text)

将widget 插入到位置index 处,如果index 超出范围,则插入到工具箱底部。新项目的文本设置为text 。返回新项目的索引。

这是一个重载函数。

bool QToolBox::isItemEnabled(int index) const

如果位置为index 的项目已启用,则返回true ;否则返回false 。

QIcon QToolBox::itemIcon(int index) const

返回位于位置index 处的项目图标;如果index 超出范围,则返回空图标。

另请参阅 setItemIcon()。

[virtual protected] void QToolBox::itemInserted(int index)

当在位置index 处添加或插入新项目后,将调用此虚拟处理程序。

另请参阅 itemRemoved()。

[virtual protected] void QToolBox::itemRemoved(int index)

当项目从位置index 被移除后,将调用此虚拟处理程序。

另请参阅 itemInserted()。

QString QToolBox::itemText(int index) const

返回位于位置index 处的项的文本,如果index 超出范围,则返回空字符串。

另请参阅 setItemText()。

QString QToolBox::itemToolTip(int index) const

返回位于位置index 处的项目的工具提示,如果index 超出范围,则返回空字符串。

另请参阅 setItemToolTip()。

void QToolBox::removeItem(int index)

从工具箱中删除位于位置index 的项目。请注意,该控件并未被删除。

[slot] void QToolBox::setCurrentWidget(QWidget *widget)

将widget 设为当前控件。widget 必须是该工具箱中的一个项目。

另请参阅 addItem()、setCurrentIndex() 和currentWidget()。

void QToolBox::setItemEnabled(int index, bool enabled)

如果enabled 为真,则位置为index 的项目处于启用状态;否则,位置为index 的项目处于禁用状态。

另请参阅 isItemEnabled()。

void QToolBox::setItemIcon(int index, const QIcon &icon)

将位置为index 的项的图标设置为icon 。

另请参阅 itemIcon()。

void QToolBox::setItemText(int index, const QString &text)

将位置为index 的项目文本设置为text 。

如果提供的文本中包含“&”字符,系统会自动为其生成一个助记符。紧跟在“&”后面的字符将用作快捷键。任何先前的助记符都将被覆盖;如果文本中未定义助记符,则该项将清空。 详情请参阅QShortcut 文档(若要显示实际的“&”符号,请使用 '&&')。

另请参阅 itemText()。

void QToolBox::setItemToolTip(int index, const QString &toolTip)

将位置为index 的项的工具提示设置为toolTip 。

另请参阅 itemToolTip()。

[override virtual protected] void QToolBox::showEvent(QShowEvent *e)

重写了:QWidget::showEvent(QShowEvent *event)。

QWidget *QToolBox::widget(int index) const

返回位于位置index 处的控件,如果不存在该项,则返回nullptr 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.