补充:
在QTabWidget中添加页面,每个页面都需要单独创建一个QWidget,并添加到QTabWidget中:
QWidget *page1 = new QWidget();
QWidget *page2 = new QWidget();
QWidget *page3 = new QWidget();
tabWidget->addTab(page1, tr("Page 1"));
tabWidget->addTab(page2, tr("Page 2"));
tabWidget->addTab(page3, tr("Page 3"));
1、响应用户交互
QTabWidget还提供了多个与选项卡相关的信号和槽函数,可以在程序中实现动态切换、关闭、添加、移动和重命名选项卡和页面等交互。
(1)tabBarClicked(int index):选项卡单击事件响应。
当选项卡被单击时,响应该信号。
connect(tabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(onTabBarClicked(int)));
(2)tabCloseRequested(int index):选项卡关闭事件响应。
当选项卡关闭按钮被单击时,响应该信号。
connect(tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(onTabCloseRequested(int)));
(3)currentChanged(int index):当前选项卡变化事件响应。
当当前选项卡变化时,响应该信号。
connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(onCurrentChanged(int)));
(4)tabMoved(int from, int to):选项卡移动事件响应。
当选项卡被拖动移动时,响应该信号。
connect(tabWidget, SIGNAL(tabMoved(int, int)), this, SLOT(onTabMoved(int, int)));
(5)tabBarDoubleClicked(int index):选项卡双击事件响应。
当选项卡被双击时,响应该信号。
connect(tabWidget, SIGNAL(tabBarDoubleClicked(int)), this, SLOT(onTabBarDoubleClicked(int)));
除了上述信号,QTabWidget还提供了多种与选项卡和页面相关的函数,如setTabEnabled()、setTabIcon()、setMovable()、count()等,可以根据实际需求进行调用。
1. 属性
(1)tabBarPosition:选项卡位置
选项卡位置可以设置为四个方向:North(默认)、South、West和East。可以使用setTabBarPosition()函数进行设置。
tabWidget->setTabBarPosition(QTabWidget::South);
(2)tabShape:选项卡形状
默认为Rounded形状,可选的形状还包括Square和Triangular。可以使用setTabShape()进行设置。
tabWidget->setTabShape(QTabWidget::Triangular);
(3)tabsClosable:选项卡是否可关闭
默认为false,可以使用setTabsClosable()进行设置。
tabWidget->setTabsClosable(true);
(4)currentIndex:当前选项卡索引
初始值为0,可以使用setCurrentIndex()函数进行设置。
tabWidget->setCurrentIndex(1);
2. 方法
(1)addTab(QWidget *page, const QString &label):添加选项卡。
QWidget *newPage = new QWidget();
tabWidget->addTab(newPage, tr("New Page"));
(2)insertTab(int index, QWidget *page, const QString &label):在指定位置插入选项卡。
QWidget *newPage = new QWidget();
int index = 2;
tabWidget->insertTab(index, newPage, tr("New Page"));
(3)removeTab(int index):删除指定索引的选项卡。
int index = 1;
tabWidget->removeTab(index);
(4)clear():删除所有选项卡。
tabWidget->clear();
(5)tabText(int index):返回指定索引的选项卡标签名称。
int index = 1;
QString labelText = tabWidget->tabText(index);
(6)setTabText(int index, const QString &label):设置指定索引的选项卡标签名称。
int index = 1;
tabWidget->setTabText(index, tr("New Label"));
(7)tabToolTip(int index):返回指定索引的选项卡工具提示信息。
int index = 1;
QString toolTipText = tabWidget->tabToolTip(index);
(8)setTabToolTip(int index, const QString &tip):设置指定索引的选项卡工具提示信息。
int index = 1;
tabWidget->setTabToolTip(index, tr("New Tip"));
(9)tabWhatsThis(int index):返回指定索引的选项卡WhatsThis信息。
int index = 1;
QString whatsThisText = tabWidget->tabWhatsThis(index);
(10)setTabWhatsThis(int index, const QString &text):设置指定索引的选项卡WhatsThis信息。
int index = 1;
tabWidget->setTabWhatsThis(index, tr("New WhatsThis"));