利用currentindexchanged實現網頁動態切換導航欄選項

一、currentindexchanged介紹

在開發網頁的過程中,經常需要實現導航菜單的切換,currentindexchanged事件就是用來處理這個功能的。該事件是屬於QTabWidget控制項的,作用是監測Tab選項的變化並且根據當前Tab選項顯示不同的內容。

二、currentindexchanged的使用

currentindexchanged事件主要包括兩部分:一是實現選項卡選中與非選中的顏色變化;二是在不同Tab選項下,顯示不同的內容。

//選項卡選中與非選中顏色變化代碼示例
QTabWidget{
    background-color:rgb(255,255,255)
}
QTabWidget::tab-bar{
    alignment:center
}
QTabBar::tab{
    background-color:rgb(200,200,200)
}
QTabBar::tab:selected{
    background-color:rgb(255,0,0)
}

輔助上面的代碼,我們可以在實現了選中與非選中顏色變化的基礎上,添加函數來實現在不同選項下顯示不同的內容,如下代碼示例:

//選項顯示不同內容示例
void MainWindow::on_tabWidget_currentChanged(int index)
{
    switch(index){
        case 0:{ui->textBrowser->setText(tr("這是第一個選項"));break;}
        case 1:{ui->textBrowser->setText(tr("這是第二個選項"));break;}
        case 2:{ui->textBrowser->setText(tr("這是第三個選項"));break;}
        case 3:{ui->textBrowser->setText(tr("這是第四個選項"));break;}
        default:break;
    }
}

三、currentindexchanged的注意事項

在使用currentindexchanged事件時,需要注意:一是事件函數必須在調用之前設置connect連接;二是函數參數代表的是珂能夠被關閉 (選項卡) 的選項(從0開始計算),而非當前選項(這個要注意)。

四、示例代碼

下面是一個完整的使用currentindexchanged事件的示例:

//頭文件部分
#include 
#include 
#include 
#include 

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

private slots:
    void on_tabWidget_currentChanged(int index);
};

//cpp源文件部分
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(on_tabWidget_currentChanged(int)));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_tabWidget_currentChanged(int index)
{
    switch(index){
        case 0:{ui->textBrowser->setText(tr("這是第一個選項"));break;}
        case 1:{ui->textBrowser->setText(tr("這是第二個選項"));break;}
        case 2:{ui->textBrowser->setText(tr("這是第三個選項"));break;}
        case 3:{ui->textBrowser->setText(tr("這是第四個選項"));break;}
        default:break;
    }
}

//樣式文件示例
QTabWidget{
    background-color:rgb(255,255,255)
}
QTabWidget::tab-bar{
    alignment:center
}
QTabBar::tab{
    background-color:rgb(200,200,200)
}
QTabBar::tab:selected{
    background-color:rgb(255,0,0)
}

原創文章,作者:PSSK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146396.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PSSK的頭像PSSK
上一篇 2024-10-29 19:00
下一篇 2024-10-29 19:00

相關推薦

  • QML 動態載入實踐

    探討 QML 框架下動態載入實現的方法和技巧。 一、實現動態載入的方法 QML 支持從 JavaScript 中動態指定需要載入的 QML 組件,並放置到運行時指定的位置。這種技術…

    編程 2025-04-29
  • Python安裝選項怎麼選?

    Python是一種高級編程語言,可以廣泛應用於Web開發、數據科學、網路爬蟲等領域。在進行Python開發時,我們首先需要進行Python的安裝,但是在安裝時會遇到各種選項,讓人不…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • 使用easypoi創建多個動態表頭

    本文將詳細介紹如何使用easypoi創建多個動態表頭,讓表格更加靈活和具有可讀性。 一、創建單個動態表頭 easypoi是一個基於POI操作Excel的Java框架,支持通過註解的…

    編程 2025-04-28
  • Python動態輸入: 從基礎使用到應用實例

    Python是一種高級編程語言,因其簡單易學和可讀性而備受歡迎。Python允許程序員通過標準輸入或命令行獲得用戶輸入,這使得Python語言無法預測或控制輸入。在本文中,我們將詳…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28

發表回復

登錄後才能評論