——均为自学笔记,有问题指出
参考文章
一、简介
1. 样式
设计师界面 运行界面
2. 简介
QTabWidget类有一个选项卡栏QTabBar和一个页面区域,用来显示和选项卡相关联的界面。用户通过点击选项卡或者自定义快捷方式(ALT+Key)切换页面。
默认情况下,选项卡栏显示在页面区域上方,但可以设置TabPosition。每个选项卡都与不同的Widget(称为页面)相关联。页面区域只显示当前页面;所有其他页面都被隐藏。
二、QTabWidget 类
1. count
表示当前选项卡的数量
//获取页面总数
ui->tabWidget->count();
2. currentIndex
表示当前选项卡的索引,下标从0开始,如果没有部件则返回-1。
//获取页面下标
ui->tabWidget->currentIndex();
//设置显示页面
ui->tabWidget->setCurrentIndex(i); //第i页
3. documentMode
表示选项卡栏是否设置为文档模式,默认禁用。此模式对于页面需要显示文档类型的情况非常有用,因为节省了选项卡部件框架占用的部分空间。
ui->tabWidget->documentMode(); //获取
ui->tabWidget->setDocumentMode(bool); //设置
4. elideMode
表示在没有足够的空间显示给定选项卡栏大小的时候如何省略内容的策略。
ui->tabWidget->elideMode(); //获取
ui->tabWidget->setElideMode(Qt::TextElideMode mode) //设置
5. iconSize
表示选项卡标签的图标最大尺寸,图标原尺寸太大会被压缩,太小不会被放大。
ui->tabWidget->iconSize(); //获取
ui->tabWidget->setIconSize(const QSize &size);//设置
6. movable
表示是否可以移动选项卡,默认选项卡是不可移动的。
ui->tabWidget->isMovable(); //获取
ui->tabWidget->setMovable(true); //设置
7. tabBarAutoHide
表示当选项卡栏包含少于2个选项卡时,选项卡栏是否自动隐藏,默认不隐藏。
ui->tabWidget->tabBarAutoHide(); //获取
ui->tabWidget->setTabBarAutoHide(bool enabled); //设置
8. tabPosition
表示选项卡的位置,默认QTabWidget::North,在上方。
//设置标题栏位置 North、South、West、East
ui->tabWidget->setTabPosition(QTabWidget::west);
9. tabShape
表示选项卡角的形状,默认QTabWidget::Rounder圆角
ui->tabWidget->tabShape(); //获取
ui->tabWidget->setTabShape(QTabWidget::TabShape s); //设置
E.g:三角形样式
10. tabsClosable
表示选项卡栏是否应该在每个选项卡上放置关闭按钮
//设置页面关闭按钮
ui->tabWidget->setTabsClosable(true);
11. userScrollButtons
表示选项卡显示不下的时候是否使用按钮来滚动选项卡
ui->tabWidget->usesScrollButtons(); //获取
ui->tabWidget->setUsesScrollButtons(bool useButtons); //设置
E.g:
12. 公共函数
1). addTab
QWidget *Tab1 = new QWidget();
ui->tabWidget->addTab(Tab1, "TabName"); //TabName为QTabBar显示的名称
2). insertTab
插入选项卡、页面、标签和图标,如果超出范围插入到尾部,返回选项卡的实际索引。
ui->tabWidget->insertTab(index); //index为指定位置索引
3). removeTab
从选项卡中移除小部件,小部件本身不会被删除。
//删除某个页面
ui->tabWidget->removeTab(index); //index 表示 页面索引
4). clear
移除全部小部件。
//清空所有页面
ui->tabWidget->clear();
5). currentWidget
返回当前页面显示的部件,如果选项卡为空,则返回nullptr。
ui->tabWidget->currentWidget();
6). setCurrentWiget
设置当前要显示的部件,传入的指针必须为有效值。
ui->tabWidget->setCurrentWidget();
7). setCornerWidget
设置角部件,防止在选项卡旁边,基于选项卡的方向tabPosition赋值。
ui->tabWidget->setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner);
E.g:
8). cornerWidget
返回角部件方向。
ui->tabWidget->cornerWidget(Qt::Corner corner = Qt::TopRightCorner);
9). indexOf
查找某部件指针,返回选项卡索引,不存在则返回-1。
ui->tabWidget->indexOf(QWidget *w);
10). widget
查找某部件选项卡索引,返回小部件指针,不存在返回nullptr
QWidget *widget(int index) const
11). setTabEnable <设置页面激活>
设置某选项卡使能,设置为false将不可选中显示部件,如果全部选项都是false,那么将显示其中的一个。
ui->tabWidget->setTabEnable(i,true);
ui->tabWidget->setTabEnable(i+1,false); // i表示 第i页
12). isTabEnable
获取索引处index对应的选项使能。
ui->tabWidget->isTabEnabled(int index);
13). setTabIcon
设置索引index对应的选项卡图标。
ui->tabWidget->setTabIcon(int index, const QIcon &icon);
14). tabIcon
获取索引index对应的图标
ui->tabWidget->tabIcon(int index);
15). setTabText <设置页面名字>
设置索引处index对应的选项卡文本。
ui→tabWidget→setTabText(i,"名称"); // i 表示第i页
16). tabText
获取索引处index对应的文本。
ui->tabWidget->tabText(int index);
17). setTabToolTip <设置提示信息>
设置索引处index对应的选项卡提示语。
ui->tabWidget->setTabToolTip(i,"提示信息"); // i表示第i页
18). tabToolTip
获取索引处index对应的提示语。
ui->tabWidget->tabToolTip(int index);
19). setTabVisible
设置索引处index对应的选项卡是否隐藏。
ui->tabWidget->setTabVisible(int index, bool visible);
20). isTabVisible
获取索引处index对应的选项卡是否隐藏。
ui->tabWidget->isTabVisible(int index);
21). setTabWhatsThis
设置索引处index页面的“这是什么”帮助文本设置为文本。
ui->tabWidget->setTabWhatsThis(int index, const QString &text);
22). tabWhatsThis
获取索引index页面的帮助文本。
ui->tabWidget->tabWhatsThis(int index);
13. 信号
1). currentChanged
//页面变化信号
<.h>
void getCurrChanged(int value);
<.cpp>
connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(getCurrChanged(int)));
//当改变第参数个选项卡的时候,发出信号.
void MainWindow::getCurrChanged(int value)
{
qDebug()<< "改变选项卡: " << value;
}
2). tabBarClicked
//页面标题信号
void getBarClicked(int value);
connect(ui->tabWidget,SIGNAL(tabBarClicked(int)),SLOT(getBarClicked(int)));
//当点击第参数个选项卡的时候,发出信号
void 类::getBarClicked(int value)
{
qDebug() << " 点击选项卡: " << value;
}
3). tabBarDoubleClicked
//页面双击信号
<.h>
void getBarDoubleClicked(int value);
<.cpp>
connect(ui->tabWidget,SIGNAL(tabBarDoubleClicked(int)), SLOT(getBarDoubleClicked(int)));
//当双击第参数个选项卡的时候,发出信号
void 类::getBarDoubleClicked(int value)
{
qDebug() << " 点击选项卡: " << value;
}
4). tabCloseRequested
// 页面关闭信号
private slots:
void getCloseRquested(int value);
connect(ui->tabWidget,SIGNAL(tabCloseRequested(int)),SLOT(getCloseRequested(int)));
//当点击第参数个选项卡的关闭按钮的时候,发出信号
void 类::getCloseRequested(int value)
{
qDebug()<<"选项卡关闭按钮: "<<value;
}