实现Label的鼠标点击响应,以及获取焦点后改变颜色
来源:互联网 发布:淘宝查看商品类目 编辑:程序博客网 时间:2024/05/18 02:10
QT里面的Label控件本身没有响应鼠标点击事件,而要实现Label对鼠标点击的响应,以及鼠标进入和离开时,颜色发生变化,创建了一个新的类ClickLabel,继承了QLabel类,覆写了鼠标进入离开事件、点击事件,实现了上述功能,源码如下:
File:ClickLabel.h
#ifndef CLICKLABEL_H#define CLICKLABEL_H#include <QLabel>class ClickLabel:public QLabel{ Q_OBJECTpublic: explicit ClickLabel(QWidget *parent = 0); ClickLabel(const QString &text, QWidget *parent=0);signals: void clicked();//鼠标单击信号protected: // 鼠标单击事件 void mouseReleaseEvent(QMouseEvent *); void enterEvent(QEvent *); void leaveEvent(QEvent *);};#endif // CLICKLABEL_H
File:ClickLabel.cpp
#include "ClickLabel.h"#include <QMouseEvent>ClickLabel::ClickLabel(QWidget *parent): QLabel(parent){ QPalette pa; pa.setColor(QPalette::WindowText, Qt::blue); setPalette(pa);}ClickLabel::ClickLabel(const QString &text, QWidget *parent): QLabel(parent){ QPalette pa; pa.setColor(QPalette::WindowText, Qt::blue); setPalette(pa); setText(text);}void ClickLabel::mouseReleaseEvent(QMouseEvent *ev){ if (ev->button() == Qt::LeftButton) emit clicked();//(this);}void ClickLabel::enterEvent(QEvent *){ QPalette pa; pa.setColor(QPalette::WindowText, Qt::red); setPalette(pa);}void ClickLabel::leaveEvent(QEvent *){ QPalette pa; pa.setColor(QPalette::WindowText, Qt::blue); setPalette(pa);}把Label当成按钮使用,还可以改变颜色,用起来感觉挺美观的,感兴趣的试一下吧。
0 0
- 实现Label的鼠标点击响应,以及获取焦点后改变颜色
- DataGrid中鼠标点击、移动后行颜色改变效果
- 【Unity&NGUI】Label的颜色动态改变以及渐变颜色
- Edittext不自动获取焦点解决方法以及获取焦点后的事件实现方法
- Android中EditText获取焦点和不自动获取焦点以及改变光标颜色
- JTable中获取鼠标移动、点击以及内容改变事件
- 鼠标点击后改变样式
- TextView 点击、获得焦点等 改变颜色
- jquery鼠标点击改变控件的背景颜色
- OpenCV响应鼠标事件&改变像素颜色
- RecyclerView实现滚动滑动以及点击改变控件颜色
- RecyclerView实现滚动滑动以及点击改变控件颜色
- DataGrid行颜色随鼠标点击改变
- DataGrid行颜色随鼠标点击改变
- 文本框获取焦点时改变背景颜色
- 文本框获取焦点时改变背景颜色
- vue列表渲染,以及鼠标点击改变样式的问题
- android点击Button后,buttton的背景和颜色改变
- CocosStudio和Cocos2d-x版本对应关系
- 文章标题
- CSAPP学习系列:什么是CSAPP
- 略说HTTP协议(三:首部字段简介及通用首部字段)
- Chapter 1 创建线程的两种方式
- 实现Label的鼠标点击响应,以及获取焦点后改变颜色
- 学习正则表达式心得
- 设计模式的六大原则
- 计算器用到的知识
- 正确使用Block避免循环引用(一)
- 栈爆了-精要介绍栈溢出相关
- 【计算机网络】网络协议分析工具Wireshark的使用、用Wireshark观察ARP协议以及ping命令的工作过程分析以太网报文格式
- MySql入门(1)
- 互联网金融与大数据风控相结合的九大维度