首页 > 作文

C/C++ Qt Tree与Tab组件实现分页菜单功能

更新时间:2023-04-03 23:23:47 阅读: 评论:0

虽然treewidget组件可以实现多节点的增删改查,但多节点操作显然很麻烦,在一般的应用场景中基本上只使用一层结构即可解决大部分开发问题,treewidget组件通常可配合tabwidget组件,实现一个类似于树形菜单栏的功能,当用户点击菜单栏中的选项时则会跳转到不同的页面上。

首先在qt的ui编辑界面左侧加入treewidget组件,右侧加入tabwidget组件,将页面中的tabwidget组件增加指定页,效果如下。

mainwindow::mainwindow主函数中我们对其中的两个组件进行初始化操作。

#include "mainwindow.h"#include "ui_mainwindow.h"#include <qstylefactory>mainwindow::mainwindow(qwidget *parent) :qmainwindow(parent),ui(new ui::mainwindow){    ui->tupui(this);    ui->treewidget->clear();    ui->treewidget->tcolumncount(1);    ui->treewidget->theaderhidden(true);    ui->tabwidget->tabbar()->hide();    // 增you宾格加线条    ui->treewidget->tstyle(qstylefactory::create("windows"));// ----------------------------------------------------------// by: lyshark    // 创建 [系统设置] 父节点    qtreewidgetitem *system_tup = new qtreewidgetitem(ui->treewidget,qstringlist(qstring("系统位置")));    system_tup->tflags(qt::itemislectable | qt::itemisurcheckable | qt::iteminabled | qt::itemisautotristate);    // 给父节点添加子节点    qtreewidgetitem *system_tup_child_node_1 = new qtreewidgetitem(system_tup);    system_tup_child_node_1->ttext(0,"修改密码");    qtreewidgetitem *system_t国际智商测试up_chil炸茄盒的做法d_node_2 = new qtreewidgetitem(system_tup);    system_tup_child_node_2->ttext(0,"设置菜单");// --------------什么智能机好--------------------------------------------// /d/file/titlepic/lyshark    // 创建 [页面布局] 父节点    qtreewidgetitem *page_layout = new qtreewidgetitem齐国历代国君(ui->treewidget,qstringlist(qstring("页面布局")));    page_layout->tflags(qt::itemislectable | qt::itemisurcheckable | qt::iteminabled | qt::itemisautotristate);    qtreewidgetitem *page_layout_clild_1 = new qtreewidgetitem(page_layout);    page_layout_clild_1->ttext(0,"页面配置");    qtreewidgetitem *page_layout_clild_2 = new qtreewidgetitem(page_layout);    page_layout_clild_2->ttext(0,"页面参数");    ui->treewidget->expandall();}mainwindow::~mainwindow(){    delete ui;}

接着增加treewidget组件的右键点击事件,当右键点击节点时,先判断节点是哪一个,并自动将tabwidget组件切换到指定的页上。

// 当treewidget空间双击后根据不同的菜单项选择不同的tabview页void mainwindow::on_treewidget_itemdoubleclicked(qtreewidgetitem *item, int column){    qstring str = item->text(column);    if(str == "修改密码")    {        ui->tabwidget->tcurrentindex(0);    }    if(str == "设置菜单")    {        ui->tabwidget->tcurrentindex(1);    }    if(str == "页面配置")    {        ui->tabwidget->tcurrentindex(2);    }    if(str == "页面参数")    {        ui->tabwidget->tcurrentindex(3);    }}

代码实现起来很简单,具体实现效果如下所示:

文章出处:/d/file/titlepic/lyshark

到此这篇关于c/c++qttree与tab组件实现分页菜单的文章就介绍到这了,更多相关c/c++qttree与tab组件实现分页菜单内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-03 23:23:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b34b776f430bfa4b2d9763c32f959ed4.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:C/C++ Qt Tree与Tab组件实现分页菜单功能.doc

本文 PDF 下载地址:C/C++ Qt Tree与Tab组件实现分页菜单功能.pdf

标签:组件   节点   页面   菜单
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图