Qt学习-21 <QTabWidget>

——均为自学笔记,有问题指出


参考文章

参考文章

一、简介

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;
}

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值