QToolBox
QToolBox是 Qt 中用于,外观类似 “抽屉式” 或 “标签式” 面板,用户通过点击左侧(或顶部)的标签切换不同页面,每个页面可包含任意子控件(如按钮、输入框、列表等)。
QToolBox 是 Qt 中用于管理多个页面(页签)的容器控件,外观类似 “抽屉式” 或 “标签式” 面板,用户通过点击左侧(或顶部)的标签切换不同页面,每个页面可包含任意子控件(如按钮、输入框、列表等)。


属性方法
在Qt的ui设计器里面主要设置的属性如下:

1.int addItem(QWidget *page, const QString &label)
添加一个页面到工具盒末尾,页签文本为1abe1,返回页面索引(从0开始)。
QToolBox *toolBox=new QToolBox(this);
//创建页面1(包含一个按钮)
QWidget *page1=new QWidget;
QPushButton*btn1=new QPushButton("页面1按钮",page1);
toolBox->addItem(page1,"基本设置");//添加页面,页签文本“基本设置”
2.int addItem(QWidget *page, const QIcon &icon, const QString &label)
添加页面,页签包含图标和文本(图标增强识别性)。
toolBox->addItem(page1,QIcon(":/icons/setting.png"),"基本设置");
3.void insertItem(int index, QWidget *page, const QString &label)
在指定索引index处插入一个页面(原索引及之后的页面后移)。
toolBox->insertItem(0,page0,"首页");//在最前面插入“首页”页面
4.void removeItem(int index)
移除索引index对应的页面(页面控件需手动管理生命周期,避免内存泄漏)。
toolBox->removeItem(1);//移除第2个页面
5. int count() const
获取当前工具盒中的页面总数。
int pageCount =toolBox->count();
6. void setItemText(int index, const QString &text)
修改索引index对应页签的文本。
toolBox->setItemText(0,"新首页");//修改第1个页签文本
7.QString itemText(int index) const
获取索引index对应页签的文本。
QString label = toolBox->itemText(0);
8.void setItemIcon(int index, const QIcon &icon)
为索引index对应的页签设置图标。
toolBox->setItemIcon(0,QIcon(":/icons/home.png"));
9.QIcon itemIcon(int index) const
获取索引index对应页签的图标。
10.void setItemToolTip(int index, const QString &toolTip)
为索引index对应的页签设置鼠标悬停提示文本。
toolBox->setItemToolTip(0,"点击进入首页");
11. void setCurrentIndex(int index)
设置当前显示的页面(通过索引),触发currentchanged信号。
toolBox->setCurrentIndex(1);//切换到第2个页面
12.int currentIndex() const
获取当前显示页面的索引(默认-1,无页面时)。
int current = toolBox->currentIndex();
13.QWidget *currentWidget() const
获取当前显示的页面控件(QWidget*),可用于操作页面内的子控件。
Qwidget*currentPage= toolBox->currentwidget();
//查找当前页面内的按钮并操作
QPushButton*btn= currentPage->findchild<QPushButton*>();
if (btn)btn->setText("已切换");
14.QWidget *widget(int index) const
获取索引index对应的页面控件。
QWidget *page2 = toolBox->widget(2);
信号
void currentChanged(int index)
当用户点击页签或通过代码切换页面时发射,参数index为新显示页面的索引。
connect(toolBox,&QToolBox::currentChanged,this,[=](intindex){
qDebug()<<"切换到页面:“<<index<<",页签文本:"<<toolBox->itemText(index);
});
更多推荐


所有评论(0)