Qt中多页面的创建——TabWidget,QStackedWidget

Qt中多页面的创建——TabWidget,QStackedWidget

QStackedWidget类创建多页面无页面目录,可结合QTreeWidget和QTreeWidgetItem设置目录,QTabWidget创建的多页面自动有目录,不过目录在上方。

1.QtabWidget创建多页面

    QFormTable *formtable = new QFormTable(this);
    formtable->setAttribute(Qt::WA_DeleteOnClose);//用过删除
//创建到tabWidget的嵌入式型窗口
    int cur = ui->tabWidget->addTab(formtable,QString::asprintf("Table %d",ui->tabWidget->count()));
    ui->tabWidget->setCurrentIndex(cur);

在这里插入图片描述
2.QStackedWidget创建多页面

    QPage1 *page1Widget = new QPage1(this);
    QPage2 *page2Widget = new QPage2(this);
    QPage3 *page3Widget = new QPage3(this);
    QPage4 *page4Widget = new QPage4(this);
    
    stackWidget = new QStackedWidget;
    stackWidget->addWidget(page1Widget);
    stackWidget->addWidget(page2Widget);
    stackWidget->addWidget(page3Widget);
    stackWidget->addWidget(page4Widget);
    
    stackWidget->setCurrentWidget(page1Widget);//当前显示

切换显示可用setCurrentWidget或者setCurrentIndex(int)
用QTreeWidget和QTreeWidgetItem设置目录如下

    tree = new QTreeWidget();
    tree->setColumnCount(1);
    QString header = "污水监控系统";
    tree->setHeaderLabel(header);
    item1 = new QTreeWidgetItem(tree);
    item1->setText(0,"1村");
    item2 = new QTreeWidgetItem(tree);
    item2->setText(0,"2村");
    item3 = new QTreeWidgetItem(tree);
    item3->setText(0,"3村");
    item4 = new QTreeWidgetItem(tree);
    item4->setText(0,"4村");

    connect(tree,&QTreeWidget::itemClicked,this,&MainWindow::treeChanged);
    if(item == item1)
    {
        stackWidget->setCurrentIndex(0);
    }
    else if(item == item2)
    {
        stackWidget->setCurrentIndex(1);
    }
    else if(item == item3)
    {
        stackWidget->setCurrentIndex(2);
    }
    else
    {
        stackWidget->setCurrentIndex(3);
    }

Tree、item1…等设置为全局变量
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值