QT控件 之(TreeView)实现右键菜单栏功能,双击事件能实现区分不同的节点的点击效果

引言:给大家推荐一个超好用的软件,此软件也是优秀博主开发,主要是针对在我们开发过程中会不断的收集资料,而经过时间的洗礼,这些资料慢慢变得庞大起来。但是就出现了个问题:你2年前收集的资料,你在某天打开发现只有一个文件名,根本不知道具体里面干了什么,如果你有耐心,一个个打开重新编译,很好!你是牛人,但是这样做就是既繁琐、又无助,那么问题来了,有什么好办法,解决这个问题呢?
以下这个博客帮你解决了这个问题:
精灵球Plus介绍_清风徐来Groot的博客-CSDN博客
可能大家都习惯于收集资料,但是大家却忘了更主要的是如何去复习,就像我们上学时期,可能
会去写笔记,但是时间一长,压根也不记得自己记了什么东西,所以需要一个移动的笔记本,图形化的效果图来帮助大家记住:里面有个试用版本,可以下下来试试看,体验下!!!
Qt版本企业级界面_清风徐来Groot的博客-CSDN博客
欢迎大家来咨询:
qq:2868466750@qq.com  清风徐来Groot
2848043454@qq.com  
————————————————
版权声明:本文为CSDN博主「Littlehero_121」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Littlehero_121/article/details/105406203

一、qt中的treeView实现右键菜单栏的功能,主要使用的槽函数是:

void on_treeView_customContextMenuRequested(const QPoint &pos)
界面就是拖个treeView控件在上面就行,构造函数的实现如下:
ui->setupUi(this);
    model = new QStandardItemModel(ui->treeView);//创建模型
    ui->treeView->setModel(model);//导入模型
    ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu);
    ui->treeView->header()->setSectionResizeMode(QHeaderView::Stretch);
    model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("Item")
    <<QStringLiteral("info")<<QStringLiteral("value"));//设置头部标签
    item = new QStandardItem(tr("one"));//创建一个条目对象
    model->appendRow(item);//通过模型对象添加这个条目

    model->setItem(1,0,new QStandardItem(tr("two")));
    model->setItem(2,0,new QStandardItem(tr("three")));

    //开始给第0行的子节点进行添加
    QStandardItem * itemFolder;
    itemFolder = new QStandardItem(tr("one_info"));
    item->appendRow(itemFolder);
    item->setChild(0,1,new QStandardItem(QStringLiteral("one_message")));

    for(int i=0;i<5;++i){
        QStandardItem* itemgroup = new QStandardItem(QStringLiteral("%1").arg(i+1));
        itemFolder->appendRow(itemgroup);
        itemFolder->setChild(itemFolder->index().row(),1,new QStandardItem(QStringLiteral("122222")));
    }

    //给第一行添加子节点
    model->item(1)->appendRow(new QStandardItem(tr("two info")));

最后实现的界面效果如下:

实现右键菜单栏功能的效果如下:

 二、实现双击不同节点,可以出现不同的结果,调用的槽函数是:

 void on_treeView_doubleClicked(const QModelIndex &index);

最后实现的效果是:点击不同的节点打印出来不同的东西,如下:

有兴趣可以参考源码链接,如下:

qt中的treeView的右击事件和双击事件_qttreeview子节点点击的事件,qttreeview点击事件-QT文档类资源-CSDN下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值