QToolBox Class
QToolBox 类提供了一列带标签的控件项。更多...
| 标题: | #include <QToolBox> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 继承自: | QFrame |
属性
- count : int
- currentIndex : int
公共函数
| 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) |
成员函数文档
[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.