`
sony-soft
  • 浏览: 1104960 次
文章分类
社区版块
存档分类
最新评论

Qt中TreeView的右键菜单实现

 
阅读更多
目标
1、选中TreeView中的Item,右键弹出上下文菜单

实现
1、在使用TreeView右键菜单之前,要setContextMenuPolicy并且connect上下文菜单请求信号
setContextMenuPolicy(Qt::CustomContextMenu);

connect(this,SIGNAL(customContextMenuRequested(const QPoint &)),
this, SLOT(slotCustomContextMenu(const QPoint &)));

2、在信号处理函数里,主要做两件事
1、获得当前选中Item中的内容
QModelIndex index = this->currentIndex();
 
QString fileName = this->model()->data(index).toString();
2、创建显示菜单
QMenu *menu = new QMenu;

menu->addAction(QString("Import"), this, SLOT(slotTest()));
menu->addAction(QString("Export"), this, SLOT(slotTest()));
menu->exec(QCursor::pos());

其他
1、主要参考http://qt-project.org/forums/viewthread/18343
2、目前这种做法疑有内存泄漏问题
3、这篇文章中connect时,信号和邮槽都带参数,实际实验是无法connect成功的
分享到:
评论

相关推荐

    Qt中QTreeview目录树添加案例 实现右键菜单在Qt树形视图中添加子项功能的实例详解

    这个案例主要探讨如何在QTreeView中实现目录树,并添加右键菜单功能以动态添加子项。以下是对这一主题的详细讲解: 首先,我们从`mainwindow.h`文件开始。在这个头文件中,你需要声明`MainWindow`类,它是主窗口的...

    QStandardItemModel角色控制及QTreeView添加不同的右键菜单

    QStandardItemModel角色控制及QTreeView添加不同的右键菜单 详细教程见:http://blog.csdn.net/czyt1988/article/details/26018513

    qt中的treeView的右击事件和双击事件

    本篇文章将详细讲解如何在Qt中实现`QTreeView`的右键点击事件以及双击事件。 首先,让我们了解`QTreeView`的基本用法。`QTreeView`是`QAbstractItemView`的子类,它提供了视图模型/视图架构,允许灵活的数据展示。...

    删除TreeView节点以及其子节点

    在Delphi编程环境中,删除`TreeView`控件中的节点及其子节点是一项常见的操作。这个话题主要涉及以下几个知识点: 1. **TreeView控件**:TreeView是Windows应用程序中常用的控件,用于展示层次结构的数据,比如文件...

    treeview的点击事件

    `TreeView`控件在用户界面上通常用于展示层次化的信息,例如文件系统目录、应用程序菜单或者数据库结构。用户可以通过单击节点来展开或折叠子节点,以及选择某个节点。为了响应用户的这些交互,我们需要为`TreeView`...

    QT界面模拟windows文件管理demo.7z

    qt5.5.0+vs2010版本,只做了界面的功能,并未实现文件的管理功能。...6.TableView Item处右键弹出菜单。 代码解析及环境搭建请参考网址: https://blog.csdn.net/tjm1017/article/details/103632097

    QT界面模拟windows文件管理.7z

    qt5.5.0+vs2010版本,只做了界面的功能,并未实现文件的管理功能。 代码解析及环境搭建请参考网址: ... 具体实现了: 1.treeView、TableView中间来回拖动改变宽度功能。...6.TableView Item处右键弹出菜单。

    FileSys.zip

    4. **用户交互**:程序包含按钮控制和右键菜单,这表明它实现了基本的用户交互功能。按钮用于切换视图,右键菜单则提供了额外的上下文敏感操作,如打开选中文件。 5. **事件处理**:描述中提到“不过要先左键点击该...

    QTreeView详解

    4. **上下文菜单**:通过设置contextMenuPolicy()为Qt::CustomContextMenu,并连接customContextMenuRequested()信号,可以添加右键菜单功能。 五、实际应用示例 在实际的软件开发中,QTreeView常用于文件管理器、...

    python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例

    开发者可以根据需求自定义节点的行为,如添加右键菜单、响应节点点击事件等,进一步增强用户体验。总之,PyQt5的QTreeWidget和QTreeWidgetItem为开发具有树形结构的图形用户界面提供了强大的工具。

Global site tag (gtag.js) - Google Analytics