Qt常用控件之标签页控件QTabWidget
标签页控件QTabWidget
QTabWidget
是一个标签页控件,可以将控件拖入标签页中,通过切换标签页切换不同控件的显示。
代码创建的控件的父控件不是
QTabWidget
而是标签页tab
或tab_2
等 ,但 ui 创建的控件依然是通过ui->
找到。
1. QTabWidget属性
属性 | 说明 |
---|---|
tabPosition | 标签所在位置。North 上方South 下方West 左侧East 右侧 |
currentIndex | 当前选中了第几个标签页(从 0 开始)。 |
currentTabText | 当前选中的标签页。 |
currentTabName | 当前选中的标签页的名字。 |
currentTabIcon | 当前选中的标签页的图标。 |
currentTabToolTip | 当前选中的标签页的提示信息。 |
tabsCloseable | 标签页是否可以关闭。 |
movable | 标签页是否可以移动。 |
2. QTabWidget信号
信号 | 说明 |
---|---|
currentChanged(int) | 在标签页发生切换时触发,参数为被点击的选项卡编号。 |
tabBarClicked(int) | 在点击选项卡的标签条时触发,参数为被点击的选项卡编号。 |
tabBarDoubleClicked(int) | 在双击选项卡的标签条时触发,参数为被点击的选项卡编号。 |
tabCloseRequest(int) | 在选项卡关闭时触发,参数为被关闭的选项卡编号。 |
3. 使用QTabWidget制作一个多标签页窗口
QTabWidget
主要用途是实现让开发者在不新建窗口的前提下,高效实现多标签页之间控件的切换。
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
ui->label_2->setText("点击了Tab 2的button");
}
void Widget::on_pushButton_2_clicked()
{
ui->label->setText("点击了Tab 1的button");
}