欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++?Qt?Tree與Tab組件實現(xiàn)分頁菜單功能

 更新時間:2021年12月03日 09:32:50   作者:Lyshark  
這篇文章主要介紹了C/C++?Qt?Tree與Tab組件實現(xiàn)分頁菜單功能,實現(xiàn)一個類似于樹形菜單欄的功能,當用戶點擊菜單欄中的選項時則會跳轉(zhuǎn)到不同的頁面上,本文簡單給大家分享實現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧

雖然TreeWidget組件可以實現(xiàn)多節(jié)點的增刪改查,但多節(jié)點操作顯然很麻煩,在一般的應用場景中基本上只使用一層結(jié)構(gòu)即可解決大部分開發(fā)問題,TreeWidget組件通常可配合TabWidget組件,實現(xiàn)一個類似于樹形菜單欄的功能,當用戶點擊菜單欄中的選項時則會跳轉(zhuǎn)到不同的頁面上。

首先在Qt的Ui編輯界面左側(cè)加入TreeWidget組件,右側(cè)加入TabWidget組件,將頁面中的TabWidget組件增加指定頁,效果如下。

MainWindow::MainWindow主函數(shù)中我們對其中的兩個組件進行初始化操作。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QStyleFactory>

MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->treeWidget->clear();

    ui->treeWidget->setColumnCount(1);
    ui->treeWidget->setHeaderHidden(true);
    ui->tabWidget->tabBar()->hide();
    // 增加線條
    ui->treeWidget->setStyle(QStyleFactory::create("windows"));

// ----------------------------------------------------------
// By: LyShark
    // 創(chuàng)建 [系統(tǒng)設(shè)置] 父節(jié)點
    QTreeWidgetItem *system_setup = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("系統(tǒng)位置")));
    system_setup->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsAutoTristate);

    // 給父節(jié)點添加子節(jié)點
    QTreeWidgetItem *system_setup_child_node_1 = new QTreeWidgetItem(system_setup);
    system_setup_child_node_1->setText(0,"修改密碼");
    QTreeWidgetItem *system_setup_child_node_2 = new QTreeWidgetItem(system_setup);
    system_setup_child_node_2->setText(0,"設(shè)置菜單");

// ----------------------------------------------------------
// https://www.cnblogs.com/lyshark
    // 創(chuàng)建 [頁面布局] 父節(jié)點
    QTreeWidgetItem *page_layout = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("頁面布局")));
    page_layout->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsAutoTristate);

    QTreeWidgetItem *page_layout_clild_1 = new QTreeWidgetItem(page_layout);
    page_layout_clild_1->setText(0,"頁面配置");
    QTreeWidgetItem *page_layout_clild_2 = new QTreeWidgetItem(page_layout);
    page_layout_clild_2->setText(0,"頁面參數(shù)");

    ui->treeWidget->expandAll();
}

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

接著增加TreeWidget組件的右鍵點擊事件,當右鍵點擊節(jié)點時,先判斷節(jié)點是哪一個,并自動將TabWidget組件切換到指定的頁上。

// 當treeWidget空間雙擊后根據(jù)不同的菜單項選擇不同的TabView頁
void MainWindow::on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column)
{
    QString str = item->text(column);

    if(str == "修改密碼")
    {
        ui->tabWidget->setCurrentIndex(0);
    }
    if(str == "設(shè)置菜單")
    {
        ui->tabWidget->setCurrentIndex(1);
    }
    if(str == "頁面配置")
    {
        ui->tabWidget->setCurrentIndex(2);
    }
    if(str == "頁面參數(shù)")
    {
        ui->tabWidget->setCurrentIndex(3);
    }
}

代碼實現(xiàn)起來很簡單,具體實現(xiàn)效果如下所示:

文章出處:https://www.cnblogs.com/lyshark

到此這篇關(guān)于C/C++?Qt?Tree與Tab組件實現(xiàn)分頁菜單的文章就介紹到這了,更多相關(guān)C/C++?Qt?Tree與Tab組件實現(xiàn)分頁菜單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++第11版本中的一些強大的新特性小結(jié)

    C++第11版本中的一些強大的新特性小結(jié)

    這篇文章主要介紹了C++第11版本中的一些強大的新特性小結(jié),需要的朋友可以參考下
    2015-12-12
  • C語言設(shè)計圖書登記系統(tǒng)與停車場管理系統(tǒng)的實例分享

    C語言設(shè)計圖書登記系統(tǒng)與停車場管理系統(tǒng)的實例分享

    這篇文章主要介紹了C語言設(shè)計圖書登記系統(tǒng)與停車場管理系統(tǒng)的實例分享,重在以最簡單的一些需求來展示管理系統(tǒng)的設(shè)計思路,需要的朋友可以參考下
    2016-06-06
  • QT樹的具體項目實現(xiàn)

    QT樹的具體項目實現(xiàn)

    本文主要介紹了QT樹的具體項目實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • C++數(shù)據(jù)結(jié)構(gòu)之單鏈表

    C++數(shù)據(jù)結(jié)構(gòu)之單鏈表

    這篇文章主要介紹了C++數(shù)據(jù)結(jié)構(gòu)之單鏈表,鏈表是由一個個結(jié)點鏈結(jié)成的。結(jié)點包括數(shù)據(jù)域和指針域兩部分,數(shù)據(jù)域用來存儲數(shù)據(jù)元素的信息,指針域用來存儲下一個結(jié)點的地址,更詳細內(nèi)容請需要的小伙伴參考下面文章內(nèi)容
    2022-01-01
  • 淺談C++基類的析構(gòu)函數(shù)為虛函數(shù)

    淺談C++基類的析構(gòu)函數(shù)為虛函數(shù)

    本文重點:應該為多態(tài)基類聲明虛析構(gòu)器。一旦一個類包含虛函數(shù),它就應該包含一個虛析構(gòu)器。如果一個類不用作基類或者不需具有多態(tài)性,便不應該為它聲明虛析構(gòu)器。
    2015-10-10
  • C語言進階數(shù)據(jù)的存儲機制完整版

    C語言進階數(shù)據(jù)的存儲機制完整版

    這篇文章主要為大家完整的介紹了C語言進階數(shù)據(jù)的存儲機制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-02-02
  • C++中套接字庫sockpp的使用詳解

    C++中套接字庫sockpp的使用詳解

    sockpp是一個開源、簡單、現(xiàn)代的C++套接字庫,這篇文章主要為大家詳細介紹一下套接字庫sockpp的使用,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下
    2023-11-11
  • C++初階教程之缺省參數(shù)與函數(shù)重載

    C++初階教程之缺省參數(shù)與函數(shù)重載

    缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定一個缺省值,在調(diào)用該函數(shù)時如果沒有指定實參則采用該形參的缺省值,否則使用指定的實參,這篇文章主要給大家介紹了關(guān)于C++初階之缺省參數(shù)與函數(shù)重載的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • C++ 中實現(xiàn)把EXCEL的數(shù)據(jù)導入數(shù)據(jù)庫(ACCESS、MSSQL等)實例代碼

    C++ 中實現(xiàn)把EXCEL的數(shù)據(jù)導入數(shù)據(jù)庫(ACCESS、MSSQL等)實例代碼

    這篇文章主要介紹了C++ 中實現(xiàn)把EXCEL的數(shù)據(jù)導入數(shù)據(jù)庫(ACCESS、MSSQL等)實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • c++11中關(guān)于std::thread的join的詳解

    c++11中關(guān)于std::thread的join的詳解

    這篇文章主要介紹了c++11中關(guān)于std::thread的join詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論