Qt 中自定义QLabel上的点击事件
来源:互联网 发布:舞蹈mmd软件 编辑:程序博客网 时间:2024/06/08 18:58
有时候我们需要在QLabel上显示一张图片,然后通过点击这张图片来处理下一步的 事情。但是Qt中QLabel默认是没有点击效果的,只能通过QPushButton 或者QToolButton来处理点击的事件,这样就具有局限性了。
我们可以通过继承QLabel来自定义QLabel来实现这种点击效果
/*myclickLabel.h*/#ifndef MYCLICKLABEL_H#define MYCLICKLABEL_H#include <QWidget>#include <QLabel>#include <QObject>#include <QEvent>#include <QMouseEvent>class MyClickLabel : public QLabel{ Q_OBJECT // must include this if you use Qt signals/slotspublic: explicit MyClickLabel(QWidget *parent = 0);signals: void myClicked(); // 单击产生的信号 void myDoubleClicked(); // 双击产生的信号private: void mousePressEvent(QMouseEvent* event); // 鼠标单击事件 void mouseDoubleClickEvent(QMouseEvent *event); // 鼠标双击事件};#endif // MYCLICKLABEL_H
/*myclickLabel.cpp*/#include "myclicklabel.h"MyClickLabel::MyClickLabel(QWidget *parent):QLabel(parent){}void MyClickLabel::mousePressEvent(QMouseEvent *event){ emit myClicked(); // 当鼠标单击的时候,发出点击信号}void MyClickLabel::mouseDoubleClickEvent(QMouseEvent *event){ emit myDoubleClicked(); // 当鼠标双击的时候,发出双击的信号}
这样,自定义QLabel就完成 了,通过继承这个MyClickLabel类,同时需要将这个类的信号与你的槽绑定起来。就能实现点击的效果了。
阅读全文
0 0
- Qt 中自定义QLabel上的点击事件
- Qt自定义控件---QLabel点击事件
- Qt-Qlabel 自定义鼠标点击事件以及文本样式效果设计
- qt自定义鼠标单击事件标签QLabel
- Qt中解决 QLabel 点击事件通过qss+focuspolicy方法实现
- 在QLabel上点击获得的效果
- Qlabel 自定义鼠标点击事件以及文本样式效果设计
- QT QLabel 单击事件
- Qt为QLabel添加点击事件-使QLabel成为一个图片按钮
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- QT 实现QLabel上的超链接
- #Qt入门#---------实现QLabel上的超链接
- QT设置QLabel中字体的颜色
- 原生 JS 懒加载简单实现
- 怎么修改eclipse及jsp的编码
- 一直程序员的养成日记 第一章 第五节 识好文,转好文
- java代码请求URL
- 远观数据库设计
- Qt 中自定义QLabel上的点击事件
- Spring Cloud (4) | NoSuchMethodError:javax.servlet.ServletContext.getVirtualServerName()
- css3用户界面
- 欢迎使用CSDN-markdown编辑器
- java网络编程之Netty实战心跳检测(八)
- ZooKeeper 基础知识、部署
- 如何优雅的添加MGR节点?
- java获取系统属性
- 【Java】错误解决笔记