Qt中的QTreeWidget中父节点和子节点的添加删除问题!关于鼠标点击tree的位置判断问题!

piplu 2012-09-06 10:40:46
我在ui中添加了一个Qtreewidget组件。
其中有若干个父节点,每个父节点中有若干个子节点;
问题:我想右键添加删除父节点和子节点, 我如果判断鼠标右键的是父节点还是子节点呢?
(1,右键rootitem的空白处时,响应我的添加父节点菜单。2,右键rootitem时,响应删除父节点和添加子节点的菜单。 3,双击展开父节点并右键childitem时,响应删除子节点的菜单);
是关于一个右键时,如果判断鼠标点击的treewidget的位置的问题,望解答!感谢!
...全文
2277 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
czy455475537 2014-04-25
  • 打赏
  • 举报
回复
实现右键点击树控件中不同节点,弹出不同菜单 //构造函数中绑定的树控件的鼠标点击信号和自定义的槽SlotItemClicked(QTreeWidgetItem *, int) connect(ui->treeWidget,SIGNAL(itemPressed(QTreeWidgetItem *,int)),this,SLOT(SlotItemClicked(QTreeWidgetItem *, int))); //槽函数实现 SlotItemClicked(QTreeWidgetItem *item, int column) { if (qApp->mouseButtons() == Qt::LeftButton) { return; } if (qApp->mouseButtons() == Qt::RightButton) { int i=0; while(item) { item=item->parent(); i++; } switch(i) { case 1: showMenu("属性","插入PLC");//showMenu是自定义的函数,显示弹出菜单 break; case 2: showMenu("属性","插入Analog BLOCK","插入Diagit BLOCK");//showMenu是自定义的函数,显示弹出菜单,这里自己实现 break; case 3: showMenu("属性");//showMenu是自定义的函数,显示弹出菜单 break; } } }
不吃咸鱼的猫 2013-06-24
  • 打赏
  • 举报
回复
这样,你可以将每种item给它增加一个属性,比如rootitem->setText(1) = "root"; childitem->setText(2) = "child", 那么在判断右键菜单的时候就可以 if("root" == item->text(2)) { ........ } else if("child" == item->text(1)) { ......///知道了吧 } 虽然不怎么正规,不过我就是这么写的
happyelma7 2013-05-28
  • 打赏
  • 举报
回复
请问你的问题解决了吗?我现在也在学Qt,也想知道这个问题的答案。打扰了
piplu 2012-09-06
  • 打赏
  • 举报
回复
查找了qtreewiget帮助文档,就是没法判断!

UP!!!!!
  • 打赏
  • 举报
回复
看看这个
http://www.cnblogs.com/Romi/archive/2012/08/08/2628163.html
piplu 2012-09-06
  • 打赏
  • 举报
回复
这个问题好像是个入门问题吧?? 没人解答么?

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧