欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C/C++ Qt Tree與Tab組件實(shí)現(xiàn)分頁(yè)菜單

雖然TreeWidget組件可以實(shí)現(xiàn)多節(jié)點(diǎn)的增刪改查,但多節(jié)點(diǎn)操作顯然很麻煩,在一般的應(yīng)用場(chǎng)景中基本上只使用一層結(jié)構(gòu)即可解決大部分開(kāi)發(fā)問(wèn)題,TreeWidget組件通??膳浜?code>TabWidget組件,實(shí)現(xiàn)一個(gè)類(lèi)似于樹(shù)形菜單欄的功能,當(dāng)用戶(hù)點(diǎn)擊菜單欄中的選項(xiàng)時(shí)則會(huì)跳轉(zhuǎn)到不同的頁(yè)面上。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的羅山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

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

#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é)點(diǎn)
    QTreeWidgetItem *system_setup = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("系統(tǒng)位置")));
    system_setup->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsAutoTristate);

    // 給父節(jié)點(diǎn)添加子節(jié)點(diǎn)
    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)建 [頁(yè)面布局] 父節(jié)點(diǎn)
    QTreeWidgetItem *page_layout = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("頁(yè)面布局")));
    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,"頁(yè)面配置");
    QTreeWidgetItem *page_layout_clild_2 = new QTreeWidgetItem(page_layout);
    page_layout_clild_2->setText(0,"頁(yè)面參數(shù)");

    ui->treeWidget->expandAll();
}

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

接著增加TreeWidget組件的右鍵點(diǎn)擊事件,當(dāng)右鍵點(diǎn)擊節(jié)點(diǎn)時(shí),先判斷節(jié)點(diǎn)是哪一個(gè),并自動(dòng)將TabWidget組件切換到指定的頁(yè)上。

// 當(dāng)treeWidget空間雙擊后根據(jù)不同的菜單項(xiàng)選擇不同的TabView頁(yè)
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 == "頁(yè)面配置")
    {
        ui->tabWidget->setCurrentIndex(2);
    }
    if(str == "頁(yè)面參數(shù)")
    {
        ui->tabWidget->setCurrentIndex(3);
    }
}

代碼實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,具體實(shí)現(xiàn)效果如下所示:

分享名稱(chēng):C/C++ Qt Tree與Tab組件實(shí)現(xiàn)分頁(yè)菜單
標(biāo)題路徑:http://chinadenli.net/article12/dsogddc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷(xiāo)推廣微信公眾號(hào)、企業(yè)建站、軟件開(kāi)發(fā)云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)