在开发中,QTabWidget
控件经常出现在项目或软件中,有时为了美观兼顾操作便利,需要把按钮或其他控件添加到QTabWidget
控件的Tab
页水平位置。
实现思路:
查看帮助文档,发现该类有个方法void setCornerWidget()
可以实现所要效果。
使用void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
函数可以将小部件放置在QTabWidget
的角落位置。
示例:
下面是一个使用setCornerWidget()
函数在QTabWidget
的左上角和右上角添加按钮的示例代码:
#include <QApplication>
#include <QTabWidget>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 声明对象
QTabWidget tabWidget;
// 添加Tab页
QWidget *tab1 = new QWidget();
QWidget *tab2 = new QWidget();
tabWidget.addTab(tab1, "Tab 1");
tabWidget.addTab(tab2, "Tab 2");
// 在右上角添加按钮
QPushButton *button = new QPushButton("topR", &tabWidget);
tabWidget.setCornerWidget(button, Qt::TopRightCorner);
// 在左上角添加按钮
QPushButton *button1 = new QPushButton("topL", &tabWidget);
tabWidget.setCornerWidget(button1, Qt::TopLeftCorner);
tabWidget.show();
return a.exec();
}
效果:
在此基础上,绑定信号和槽,实现其自定义功能。