QLabel实现双击事件
来源:互联网 发布:linux网络排查 编辑:程序博客网 时间:2024/05/22 14:41
老问题了,也有很多实现方式,在此mark一下。
我是因为程序里需要选择多张图像的一张(qlabel显示),进而对这张图做后续处理,想用双击该图实现发射处理信号。因为QLabel本身没有双击信号,故而直接以QLabel为基类派生一个类重写mouseDoubleClickEvent(QMouseEvent *event);
然后将你要显示图像的QLabel提升为该类即可。
//qlabel_doubleclick.h#ifndef QLABEL_DOUBLECLICK_H_#define QLABEL_DOUBLECLICK_H_#include <QLabel>#include <QMouseEvent>class qlabel_doubleclick : public QLabel{ Q_OBJECTpublic: qlabel_doubleclick(QWidget *parent = 0); ~qlabel_doubleclick(); void mouseDoubleClickEvent(QMouseEvent *event);signals: void setQlabel();};#endif // QLABEL_DOUBLECLICK_H_
//qlabel_doubleclick.cpp#include "qlabel_doubleclick.h"qlabel_doubleclick::qlabel_doubleclick(QWidget *parent) : QLabel(parent){}qlabel_doubleclick::~qlabel_doubleclick(){}void qlabel_doubleclick::mouseDoubleClickEvent(QMouseEvent *event){ emit setQlabel();}
这样就把双击事件改为了一个实质的信号了,那我们再把setQlabel()在主窗里连接一个槽函数就ok了。
connect(ui.label, SIGNAL(setQlabel()), this, SLOT(setQalbelSlot()));
这里label已经提升为qlabel_doubleclick类了。
亲测有效,如果想偷懒,那只要QWidget类里所有鼠标类的虚函数都可以这么搞了,有兴趣的就去搞搞吧。
阅读全文
0 0
- QLabel实现双击事件
- PyQt给QLabel添加双击事件
- 重写QLabel使其响应单、双击事件
- qt关于QLabel控件的实现双击调用文件对话框
- combobox实现双击事件
- TreeView 实现双击事件
- 实现鼠标双击事件
- Android实现双击事件
- DataGrid 双击事件的实现
- JList 双击事件的实现
- android 实现button双击事件
- 双击事件的简单实现
- android实现双击事件监听
- Android双击事件的实现
- Android中实现双击事件
- C# 实现Button双击事件
- android 双击事件的实现
- Listbox 实现Item双击事件
- 关于数据库 约束或主外键约束的插入失败问题
- 邮件服务端口 port 25、109、110、143、465、995、993
- android工程目录下,lib和libs到底有什么区别
- C# 在类中定义事件
- java基础----Date类
- QLabel实现双击事件
- 11月20日云栖精选夜读:围观阿里总部:边喝茶边搞技术是一种怎样的体验?
- 基于java的WebSocket的主动推送
- 4. 流程控制语句
- MapReduce之二次排序
- windows 08 IIS 7 发布FTP站点
- 迈吉客受邀参加《创意中国》, 85%超高支持率晋级年度盛典
- spss
- 狸窝