linux下QT界面的treewiget控件的右键菜单的实现
2013-05-09 00:27
351 查看
关于QTreeWidget右键菜单的实现。步骤如下:
首先建立信号和槽函数的关联。
选择图中高亮的函数,会自动生成槽函数的模板
在主窗口的初始化代码中加上这一句,QTreeWidget控件使用自定义菜单。
这里是槽函数的具体实现代码(说明见注释):
本文出自 “大工软院的技术生活” 博客,请务必保留此出处http://webcrawler.blog.51cto.com/3663163/1196093
首先建立信号和槽函数的关联。
选择图中高亮的函数,会自动生成槽函数的模板
在主窗口的初始化代码中加上这一句,QTreeWidget控件使用自定义菜单。
ui->titleList->setContextMenuPolicy(Qt::CustomContextMenu);
这里是槽函数的具体实现代码(说明见注释):
void MainWindow::on_channelTree_customContextMenuRequested(QPoint pos) { QMenu *popMenu =new QMenu(this);//定义一个右键弹出菜单 QTreeWidgetItem* curItem=ui->channelTree->itemAt(pos); //获取当前被点击的节点 if(curItem==NULL){ //右键的位置不在treeItem的范围内,即在空白位置右击 popMenu->addAction(ui->actionAdd_class);//往菜单内添加QAction popMenu->exec(QCursor::pos());//弹出右键菜单,菜单位置为光标位置 } else if(0==curItem->data(0,Qt::UserRole)){ popMenu->addAction(ui->actionAdd_channel); popMenu->exec(QCursor::pos());//弹出右键菜单,菜单位置为光标位置 uiAddChannel.comboBox->setItemText(0,curItem->text(0)); //确定添加channel的分类 } else{ popMenu->addAction(ui->actionDelete_channel);//往菜单内添加QAction popMenu->exec(QCursor::pos());//弹出右键菜单,菜单位置为光标位置 } }
本文出自 “大工软院的技术生活” 博客,请务必保留此出处http://webcrawler.blog.51cto.com/3663163/1196093
相关文章推荐
- Windows 界面:右键菜单的实现
- Qt使用IE控件和屏蔽页面右键菜单
- QT之桌面精灵实现(二) --- 右键菜单、开机启动、窗口Z-Order
- 在控件上右键菜单的实现
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单
- Silverlight系列(右键菜单、控件移动的实现)
- TreeList控件右键菜单功能的实现
- QT实现右键快捷菜单
- jQuery实现右键菜单+遮罩+弹出层(适应管理系统界面)
- Qt界面添加右键菜单
- 在控件上右键菜单的实现
- Qt:QListWidget的item上实现右键菜单
- Qt实现右键菜单的五种方法!(以QListWidget为例)
- TreeList控件右键菜单功能的实现
- 用控件实现自定义右键菜单
- TreeList控件右键菜单功能的实现
- VC中实现在指定控件上弹出右键菜单
- DirectUI界面编程(六)实现右键弹出菜单
- VC中实现在指定控件上弹出右键菜单
- 滑动菜单解决方案之三:使用TabHost控件实现微信界面的底部菜单效果