QToolBox Class

QToolBox 类提供了一列标签式 widget 项目。更多

Header: #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() 提供。可以使用删除功能删除项目,或使用removeItem() 从工具箱中删除项目。结合使用removeItem() 和insertItem() 可以将项目移动到不同位置。

当前项目部件的索引由currentIndex() 返回,并由setCurrentIndex() 设置。使用indexOf() 可以找到特定项目的索引,item() 则返回给定索引处的项目。

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

另请参见 QTabWidget

属性文档

[read-only] count : const int

该属性表示工具箱中包含的项目数。

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

访问功能:

int count() const

currentIndex : int

该属性保存当前项目的索引

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

访问功能

int currentIndex() const
void setCurrentIndex(int index)

Notifier 信号:

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 。新标签页的文本设置为texticonSet 显示在text 的左侧。 返回新标签页的索引。

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

这是一个重载函数。

在工具箱底部的新标签页中添加 widgetw 。新标签页的文本设置为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

返回指向当前 widget 的指针,如果没有,则返回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)

index 位置插入widget ,如果index 不在范围内,则在工具箱底部插入。新项目的文本设置为texticon 显示在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 为 true,则启用位置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 上的 widget,如果没有此项目,则返回nullptr

© 2025 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.