您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“Qt中的QStackedWidget控件如何使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Qt中的QStackedWidget控件如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
QStackedWidget繼承自QFrame。
QStackedWidget類提供了多頁面切換的布局,一次只能看到一個(gè)界面。
QStackedWidget可用于創(chuàng)建類似于QTabWidget提供的用戶界面。
先來看看QTabWidget控件的效果:
需要注意的是: QTabWidget的currentTabText用于修改名稱。在插入頁中插入新的界面。
1?、接口(方法)
int addWidget(QWidget * widget) 添加頁面,并返回頁面對應(yīng)的索引
int count() const 獲取頁面數(shù)量
int currentIndex() const 獲取當(dāng)前頁面的索引
QWidget * currentWidget() const 獲取當(dāng)前頁面
int indexOf(QWidget * widget) const 獲取QWidget頁面所對應(yīng)的索引
int insertWidget(int index, QWidget * widget) 在索引index位置添加頁面
void removeWidget(QWidget * widget) 移除QWidget頁面,并沒有被刪除,只是從布局中移動,從而被隱藏。
QWidget * widget(int index) const 獲取索引index所對應(yīng)的頁面
2?、信號
void currentChanged(int index) 當(dāng)前頁面發(fā)生變化時(shí)候發(fā)射,index為新的索引值
void widgetRemoved(int index) 頁面被移除時(shí)候發(fā)射,index為頁面對應(yīng)的索引值
3?、共有槽函數(shù)
void setCurrentIndex(int index) 設(shè)置索引index所在的頁面為當(dāng)前頁面
void setCurre使用ntWidget(QWidget * widget) 設(shè)置QWidget頁面為當(dāng)前頁面
一般情況,使用QStackedWidget常用的兩種方式:
根據(jù)currentWidget()來判斷當(dāng)前頁面,然后通過setCurrentWidget()來設(shè)置需要顯示的頁面。
根據(jù)currentIndex()來判斷當(dāng)前頁面索引,然后通過setCurrentIndex()來設(shè)置需要顯示的頁面。
(實(shí)現(xiàn)QTabWidget的效果,用按鈕觸發(fā)切換界面)
編輯ui界面
編輯代碼(連接信號槽)
#include "layout.h" #include"qlabel.h" #include"qstackedwidget.h" #include"qpushbutton.h" #pragma execution_character_set("utf-8") Layout::Layout(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); connect(ui.btn1, &QPushButton::clicked, [=]() { ui.stackedWidget->setCurrentIndex(1); }); connect(ui.btn2, &QPushButton::clicked, [=]() { ui.stackedWidget->setCurrentIndex(2); }); connect(ui.btn3, &QPushButton::clicked, [=]() { ui.stackedWidget->setCurrentIndex(0); }); }
讀到這里,這篇“Qt中的QStackedWidget控件如何使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。