在界面上拉一个 Tab Widget,和下面的四个按钮控件:tab 中的控件随便拖的;
代码如下:
#include "widget.h"
#include "ui_widget.h"
#include <QTabWidget>
#include <QLabel>
#include <QDebug>
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
// 修改 tab 的文本
ui->tabWidget->setTabText(0, "按钮控件");
ui->tabWidget->setTabText(1, "单选框控件");
// 设置图标
ui->tabWidget->setTabIcon(0, QIcon(":/Image/butterfly.png"));
ui->tabWidget->setIconSize(QSize(30, 30));
}
Widget::~Widget()
{
delete ui;
}
// 增加
void Widget::on_btnAdd_clicked()
{
// int addTab(QWidget * page, const QString & label)
// int addTab(QWidget * page, const QIcon & icon, const QString & label)
QWidget *widget = new QWidget(this);
QLabel *label = new QLabel(widget);
label->setText("床前明月光");
label->move(20, 30);
label->setFont(QFont("宋体", 22));
label->adjustSize(); // 设置控件自动改变,以适应内容大小
// label->setScaledContents(true); // 设置内容自动改变,以适应控件大小
label->setBackgroundRole(QPalette::Dark);
label->setForegroundRole(QPalette::Link);
ui->tabWidget->addTab(widget, QIcon(":/Image/Luffy.png"), "新添加的项");
}
// 插入
void Widget::on_btnInsert_clicked()
{
// int insertTab(int index, QWidget * page, const QString & label)
// int insertTab(int index, QWidget * page, const QIcon & icon, const QString & label)
QWidget *widget = new QWidget(this);
QLabel *label = new QLabel(widget);
label->setText("疑是地上霜");
label->move(20, 30);
label->setFont(QFont("宋体", 22));
label->adjustSize(); // 设置控件自动改变,以适应内容大小
// label->setScaledContents(true); // 设置内容自动改变,以适应控件大小
label->setBackgroundRole(QPalette::Dark);
label->setForegroundRole(QPalette::Link);
ui->tabWidget->insertTab(ui->tabWidget->count(), widget, QIcon(":/Image/OnePiece.png"), "新插入的项");
}
// 删除
void Widget::on_btnDelete_clicked()
{
// 清除 tabwidget 上的所有内容
// ui->tabWidget->clear();
// 删除当前选中的 tab
if (QMessageBox::question(this, "系统提示", "是否删除当前项?") == QMessageBox::Yes)
{
ui->tabWidget->removeTab(ui->tabWidget->currentIndex());
}
}
// 查找
void Widget::on_btnFind_clicked()
{
// 获取 tabwidget 的 tab 数量
int count = ui->tabWidget->count();
qDebug() << QString::number(count);
// 获取当前选中 tab 的索引
int index = ui->tabWidget->currentIndex();
qDebug() << QString::number(index);
// 获取指定 tab 的文本
QString text = ui->tabWidget->tabText(0);
qDebug() << text.toUtf8().data();
}