【QT】列表控件之右键编辑
来源:互联网 发布:微软中国程序员薪资 编辑:程序博客网 时间:2024/06/01 09:20
功能截图:
主窗口的listwidget控件中有两个写好的item:“book”“heart”。
在item右键弹出菜单,有“new”“delete”两个action可以选择。
在listwidget非item的空白处右键弹出的菜单,只有“new”一个action可以选择。
如上两张图所示的操作,结果为:
代码实现:
1、给listwidget控件添加两个item:
ui->listWidget->addItem("book"); ui->listWidget->addItem("heart");
2、设置菜单策略,支持右键菜单:
ui->listWidget->setContextMenuPolicy(Qt::CustomContextMenu);
3、事件处理:
//处理右键事件 connect(ui->listWidget,SIGNAL(customContextMenuRequested(const QPoint &)),this,SLOT(OnListContextMenu(const QPoint &))); //处理两个action——“new”、“delete”事件 connect(ui->actionNew,SIGNAL(triggered()),this,SLOT(Onactionnew())); connect(ui->actionDelete,SIGNAL(triggered()),this,SLOT(Onactiondelete()));
4、槽函数:
int MainWindow::OnListContextMenu(const QPoint & pt){ QListWidgetItem *selected=ui->listWidget->itemAt(pt);\ int row=ui->listWidget->currentRow(); QMenu *menu=new QMenu(); menu->addAction(ui->actionNew); if(selected) { menu->addAction(ui->actionDelete); } QPoint p=ui->listWidget->mapToGlobal(pt); menu->exec(p); return 0;}int MainWindow::Onactionnew(){ QListWidgetItem* item = new QListWidgetItem(); item->setText("new item"); ui->listWidget->addItem(item); return 0;}int MainWindow::Onactiondelete(){ int row=ui->listWidget->currentRow(); QListWidgetItem *item=ui->listWidget->takeItem(row); if(item) { delete item; } return 0;}
阅读全文
0 0
- 【QT】列表控件之右键编辑
- 【QT】列表控件之自定义显示
- Qt之右键菜单
- 可编辑的列表控件
- 自制Qt IP编辑控件
- 为列表控件添加右键弹出菜单
- vS2010 列表控件 添加右键菜单
- Qt之右键菜单实现
- Qt之QAbstractItemView右键菜单
- Qt之右键弹出菜单
- (转载)Qt之右键菜单
- Qt QtreeWidget树形控件右键菜单
- 子窗口控件(5)之编辑类and列表框类
- 【MFC-12】VS2010/MFC之列表框控件动态编辑(List Control Edit)
- 自定义treeview控件,实现右键菜单编辑功能
- QT右键菜单、右键下拉菜单、各控件响应右键菜单方法简介 【百度空间】
- QT右键菜单、右键下拉菜单、各控件响应右键菜单方法简介 【百度空间】
- QT右键菜单、右键下拉菜单、各控件响应右键菜单方法简介(转)
- 分享】diy 漂亮的 n 格 (適用於可以 diy 的任何版本)
- bootstrap学习30--javascript插件--modal dialog
- Java反射机制的原理与简单使用
- mysql事物处理的四大特征和简单用法
- 基于Soot的Java程序分析生存手册(一)
- 【QT】列表控件之右键编辑
- Python的hasattr() getattr() setattr()使用
- Java配置----JDK开发环境搭建及环境变量配置
- JavaWeb(九)HttpSession和登陆案例
- Android中ExpandableListView的使用
- angle一个非常好用的响应式Bootstrap管理模板Angle3.8.5_Angle3.8.0_Angle3.7.5_Angle3.7.0_Angle3.6_Angle3.5_angle 3.5
- BZOJ 1017 [JSOI2008] 魔兽地图DotR
- 【BZOJ1071】[SCOI2007]组队
- Storm运行流程的理解