本文详细的介绍了QToolBox控件的各种操作,例如:新建界面、添加页签、索引设置当前项、获取当前项的索引、获取当前项窗口、获取索引值是int的窗口、移除索引值项、获取项的数量、获取指定索引值、设置索引项是否激活、获取索引值项是否激活、设置项的图标、获取项的图标、设置项标题名称、获取项标题名称、设置项提示信息、获取项提示信息、设置当前显示的页签、信号槽、源代码、其它文章等等操作。
实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费时又费力。QToolBox类提供了一列选项卡式小部件项。工具箱控件QToolBox与切换卡控件QTableWidget有些类似,也是由多页构成每页有标题名称。适用于分类浏览、内容展示、操作指引这一类的使用场景。
本系列QT全面详解文章目前共有三十三篇,本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。
QT QToolBox控件使用详解目录
1 新建界面
2 添加页签
// 添加页签 QIcon图标或QPixmap图像
//QIcon icon("");
//QWidget* widget1 = new QWidget;
//QWidget* widget2 = new QWidget;
//QWidget* widget3 = new QWidget;
//ui->toolBox->addItem(new widget1, "D:/a.png", "Page 0");
//ui->toolBox->addItem(new widget2, QIcon(), "Page 1");
//ui->toolBox->addItem(new widget3, QIcon(), "Page 2");
//ui->toolBox->addItem(new QLabel("Content for page 3"), QIcon(), "Page 3");
//根据索引插入项,新插入项的索引值是index
//ui->toolBox->insertItem(3,widget1,icon,"");
//ui->toolBox->insertItem(3,widget1,"D:/a.png","");
3 索引设置当前项
ui->toolBox->setCurrentIndex(2);
4 获取当前项的索引
qDebug() << "当前索引" << ui->toolBox->currentIndex();
5 获取当前项窗口
ui->toolBox->currentWidget();
6 获取索引值是int的窗口
ui->toolBox->widget(2);
7 移除索引值项
ui->toolBox->removeItem(2);
8 获取项的数量
ui->toolBox->count();
9 获取指定索引值
ui->toolBox->indexOf(ui->page_3);
10 设置索引项是否激活
ui->toolBox->setItemEnabled(2,true);
11 获取索引值项是否激活
ui->toolBox->isItemEnabled(0);
12 设置项的图标
ui->toolBox->setItemIcon(0,icon);
13 获取项的图标
ui->toolBox->itemIcon(0);
14 设置项标题名称
ui->toolBox->setItemText(0,"page 1");
15 获取项标题名称
ui->toolBox->itemIcon(0);
16 设置项提示信息
ui->toolBox->setItemToolTip(0,"提示");
17 获取项提示信息
ui->toolBox->itemToolTip(0);
18 设置当前显示的页签
ui->toolBox->setCurrentWidget(ui->widget3);
19 信号槽
private slots:
void on_toolBox_currentChanged(int index);
connect(ui->toolBox, &QToolBox::currentChanged, this, &MainWindow::on_toolBox_currentChanged);
void MainWindow::on_toolBox_currentChanged(int index)
{
qDebug() << "Current page changed: " << index;
}
20 源代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
//加入GBK申明,否则中文乱码 全局使用GBK文件操作因为有中文所以使用
#pragma execution_character_set("utf-8")
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_toolBox_currentChanged(int index);
private:
Ui::MainWindow *ui;
QString Title;
QString Version;
QString BlogText;
QWidget mWidget;
};
#endif // MAINWINDOW_H
21 其它文章
QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit
QT QComboBox使用详解_双子座断点的博客-CSDN博客
QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查
Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel
Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件
QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton
QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit
Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message
QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式
QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions
QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis
Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框
QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualizatio
QT QSpinBox 整数计数器控件 使用详解_双子座断点的博客-CSDN博客
QT QDoubleSpinBox 浮点计数器控件(使用详解)_双子座断点的博客-CSDN博客_qdoublespinbox信号槽
QT QSlider、QHorizontalSlider、QVerticalSlider 控件 使用详解_双子座断点的博客-CSDN博客_qslider设置步长
QT QTabWidget 控件 使用详解_双子座断点的博客-CSDN博客
QT QCalendarWidget控件 使用详解_双子座断点的博客-CSDN博客
QT QStackedWidget 控件 使用详解_双子座断点的博客-CSDN博客
QT QVBoxLayout 垂直布局控件_双子座断点的博客-CSDN博客
QT QHBoxLayout 水平布局控件_双子座断点的博客-CSDN博客
QT QGridLayout网格布局控件_双子座断点的博客-CSDN博客
QT QVerticalSpacer 弹簧控件_双子座断点的博客-CSDN博客
QT QHorizontalSpacer弹簧控件_双子座断点的博客-CSDN博客
QT QLine 使用详解_双子座断点的博客-CSDN博客