QT中在QTreeWidget中实现右键菜单功能
2020-02-16 19:44
691 查看
在创建好自己的QTreeWidget控件之后,添加 customContextMenuRequested 槽函数
槽函数内容如下
void ftpWindow::on_fileInfo_tw_customContextMenuRequested(const QPoint &pos) { QTreeWidgetItem * curItem = ui->fileInfo_tw->itemAt(pos); if(curItem == NULL) { popMenu = new QMenu(this); uploadFilePath = popMenu->addAction("设当前目录为下装配置文件目录"); connect(uploadFilePath,SIGNAL(triggered()),this,SLOT(on_uploadFilePathAction())); popMenu->exec(QCursor::pos()); } else { popMenu = new QMenu(this); deleteFile = popMenu->addAction("删除"); downloadFile = popMenu->addAction("下载"); connect(deleteFile,SIGNAL(triggered()),this,SLOT(on_deleteAction())); connect(downloadFile,SIGNAL(triggered()),this,SLOT(on_downloadAction())); popMenu->exec(QCursor::pos()); } }
头文件中包含了
QMenu * popMenu; QAction * deleteFile; QAction * downloadFile; QAction * uploadFilePath;
pos是为了确定鼠标的位置,点击在空白处则为 NULL ,否则就是被选中的 item。
菜单弹出之后再点击菜单下的功能,则会触发 triggered() 信号,所以我们需要用connect接收这个信号然后调用自己的槽函数
没什么难点,就这样。
效果如图
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- QT中实现从桌面拖拽QTreeWidget上显示
- QT里实现Windows电脑三种关机方法
- QT5.5.0-msvc2013静态编译分享
- #树莓派#QT、串口环境配置
- #树莓派#使用QT实现串口信息检测与网络通信
- 学习笔记(01):C++QT5跨平台界面编程原理和实战大全-课程介绍
- 学习笔记(02):C++QT5跨平台界面编程原理和实战大全-QT5开发环境qtcreator、SDK和vs插件下载和安装...
- 学习笔记(08):C++QT5跨平台界面编程原理和实战大全-vs2015创建QT项目并详细介绍vs项目设置...
- 学习笔记(09):C++QT5跨平台界面编程原理和实战大全-VS设置编译的qt库版本和导出为qtcreator项目...
- 学习笔记(10):C++QT5跨平台界面编程原理和实战大全-qmake引入qt库创建窗口、设置头文件、分析makefile并设置输出...
- 学习笔记(12):C++QT5跨平台界面编程原理和实战大全-配置vs和qmake环境变量执行qmake生成makefile...
- 学习笔记(15):C++QT5跨平台界面编程原理和实战大全-qmake语法设置pro中的库导入路径和导入库,导入opencv...
- 学习笔记(16):C++QT5跨平台界面编程原理和实战大全-qmake创建动态链接和静态链接库并在windows中输出dll和lib...
- 学习笔记(17):C++QT5跨平台界面编程原理和实战大全-qtcreator的debug版本和release版本配置和设置...
- 学习笔记(18):C++QT5跨平台界面编程原理和实战大全-pro项目文件中设置dll和lib的输出路径并在ubuntu下测试so库...
- 学习笔记(21):学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程-使用opencv接口实现运行记时函数用来分析执行效率...
- 学习笔记(26):学习OpenCV3.2+QT5+ffmpeg实战开发视频编辑器视频教程-QT自定义opengl的Widget绘制Mat...
- qt5+opencv3 程序调试问题
- QT movetothread 后的线程同步
- 编译MINGW版本的VLC_QT库,版本1.1.1。