虽然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 条评论) |