溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Qt中的QStackedWidget控件如何使用

發(fā)布時(shí)間:2023-02-27 11:14:12 來源:億速云 閱讀:185 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Qt中的QStackedWidget控件如何使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Qt中的QStackedWidget控件如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

引言

QStackedWidget繼承自QFrame。

QStackedWidget類提供了多頁面切換的布局,一次只能看到一個(gè)界面。

QStackedWidget可用于創(chuàng)建類似于QTabWidget提供的用戶界面。

先來看看QTabWidget控件的效果:

Qt中的QStackedWidget控件如何使用

需要注意的是: QTabWidget的currentTabText用于修改名稱。在插入頁中插入新的界面。

QStackedWidget的屬性

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í)例演示

(實(shí)現(xiàn)QTabWidget的效果,用按鈕觸發(fā)切換界面)

編輯ui界面

Qt中的QStackedWidget控件如何使用

編輯代碼(連接信號槽)

#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控件如何使用

讀到這里,這篇“Qt中的QStackedWidget控件如何使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI