在Qt中,要實現TabBar的標簽切換,通常涉及到以下幾個步驟:
下面是一個簡單的示例代碼,演示了如何在Qt中使用QTabWidget實現標簽切換:
#include <QApplication>
#include <QTabWidget>
#include <QWidget>
#include <QPushButton>
class MyTabWidget : public QTabWidget {
Q_OBJECT
public:
MyTabWidget(QWidget *parent = nullptr) : QTabWidget(parent) {
// 添加第一個標簽頁
QWidget *tab1 = new QWidget();
QPushButton *button1 = new QPushButton("Button 1");
tab1->layout()->addWidget(button1);
addTab(tab1, "Tab 1");
// 添加第二個標簽頁
QWidget *tab2 = new QWidget();
QPushButton *button2 = new QPushButton("Button 2");
tab2->layout()->addWidget(button2);
addTab(tab2, "Tab 2");
// 連接currentChanged信號到槽函數
connect(this, SIGNAL(currentChanged(int)), this, SLOT(onCurrentChanged(int)));
}
private slots:
void onCurrentChanged(int index) {
// 當標簽頁發生更改時,此函數將被調用
qDebug() << "Current tab index:" << index;
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MyTabWidget tabWidget;
tabWidget.show();
return app.exec();
}
在這個示例中,我們創建了一個名為MyTabWidget的自定義QTabWidget類。在構造函數中,我們添加了兩個標簽頁,并為每個標簽頁添加了一個按鈕。然后,我們連接了currentChanged()信號到onCurrentChanged()槽函數,以便在當前標簽頁發生更改時輸出一條調試信息。