qt QTreeWidget右键菜单函数,以备自己翻阅
2014-08-08 15:29
169 查看
QModelIndex index=ui.tree_FileLocal->indexAt(pos);QMenu *pMenu=new QMenu(ui.tree_FileLocal);if (ui.tree_FileLocal->columnCount()==7){QAction *refresh=pMenu->addAction(tr("刷新(&Y)"));refresh->setShortcut(Qt::Key_F5);connect(refresh,SIGNAL(triggered()),this,SLOT(discRefreshLocalFunction()));pMenu->addSeparator();QAction *attribute=pMenu->addAction(tr("属性(&Z)"));connect(attribute,SIGNAL(triggered()),this,SLOT(discInfoLocalFunction()));}else{if (index==QModelIndex())//空白地方{QMenu *checkMenu=new QMenu(ui.tree_FileLocal);QAction *plain=checkMenu->addAction(tr("平铺(&W)"));plain->setCheckable(true);connect(plain,SIGNAL(triggered()),this,SLOT(extendLocalView()));checkMenu->addSeparator();//分隔线QAction *icon=checkMenu->addAction(tr("图标(&X)"));icon->setCheckable(true);connect(icon,SIGNAL(triggered()),this,SLOT(iconLocalView()));checkMenu->addSeparator();QAction *list=checkMenu->addAction(tr("列表(&Y)"));list->setCheckable(true);connect(list,SIGNAL(triggered()),this,SLOT(listLocalView()));checkMenu->addSeparator();QAction *report=checkMenu->addAction(tr("报表(&Z)"));report->setCheckable(true);connect(report,SIGNAL(triggered()),this,SLOT(reportLocalView()));switch(m_viewLocalFlag){case 0:plain->setChecked(true);break;//勾选case 1:icon->setChecked(true);break;case 2:list->setChecked(true);break;case 3:report->setChecked(true);break;}QMenu *newMenu=new QMenu(ui.tree_FileLocal);QAction *contents=newMenu->addAction(tr("目录(&Z)"));contents->setCheckable(true);connect(contents,SIGNAL(triggered()),this,SLOT(createDirLocalFunction()));QAction *refresh=pMenu->addAction(tr("刷新(&X)"));refresh->setShortcut(Qt::Key_F5);//添加热键connect(refresh,SIGNAL(triggered()),this,SLOT(fileRefreshLocalFunction()));pMenu->addSeparator();QAction *checks=pMenu->addAction(tr("查看(&Y)"));checks->setMenu(checkMenu);pMenu->addSeparator();if(m_copyFlag){QAction *paste=pMenu->addAction(tr("粘贴(&V)"));paste->setShortcut(Qt::CTRL+Qt::Key_V);connect(paste,SIGNAL(triggered()),this,SLOT(pasteFileLocalFunction()));pMenu->addSeparator();}QAction *news=pMenu->addAction(tr("新建(&Z)"));news->setMenu(newMenu);}else//文件{QAction *open=pMenu->addAction(tr("打开(&U)"));open->setShortcut(Qt::Key_F9);connect(open,SIGNAL(triggered()),this,SLOT(openFileLocalFunction()));QAction *refresh=pMenu->addAction(tr("刷新(&X)"));refresh->setShortcut(Qt::Key_F5);connect(refresh,SIGNAL(triggered()),this,SLOT(fileRefreshLocalFunction()));pMenu->addSeparator();QAction *copy=pMenu->addAction(tr("复制(&V)"));copy->setShortcut(Qt::CTRL+Qt::Key_C);connect(copy,SIGNAL(triggered()),this,SLOT(copyFileLocalFuntion()));pMenu->addSeparator();QAction *alter=pMenu->addAction(tr("改名(&W)"));alter->setShortcut(Qt::Key_F2);connect(alter,SIGNAL(triggered()),this,SLOT(renameFileLocalFunction()));QAction *del=pMenu->addAction(tr("删除(&Y)"));del->setShortcut(Qt::Key_Delete);connect(del,SIGNAL(triggered()),this,SLOT(deleteFileLocalFunction()));pMenu->addSeparator();QAction *attribute=pMenu->addAction(tr("属性(&Z)"));connect(attribute,SIGNAL(triggered()),this,SLOT(fileInfoLocalFunction()));}}pMenu->exec(QCursor::pos());//在鼠标位置弹出菜单
相关文章推荐
- 自己刚学时候的链表整理一下,方便以后翻阅
- 自己翻阅的-TLS-DLL使用中要注意的DLL_PROCESS_ATTACH
- 计算机网络自己的总结(谢希仁第四版)
- 自己开发DB2工具 (7)
- 做真正Hacker 的乐趣──自己动手去实践
- 获取客户端自己设置的本地IP地址
- TreeSet中实现自己的Comparator,以及常见的Collections方法的使用
- 自己实现RMI(三)对象序列化与反序列化
- node.js初探-超越昨天的自己系列(3)
- 安卓android中 The connection to adb is down 解决方法,笔者自己解决的经验
- Linux下c++调用自己编写的matlab函数:通过shell script system command实现
- C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览
- 你为什么老是找不到满意的工作? 多思考自己的原因 !
- Caffe学习系列(12):训练和测试自己的图片
- 怎么设置输入的EditText字母自己主动大写
- android notification进入界面返回时,返回自己的App
- 怎么判断自己是否适合做程序员?
- 从今天开始每天写C++或其他学习的知识的笔记,以激励自己
- 完成了自己第一个jQuery的插件NumberText 1.0
- 原来snort是要自己编译的