QLabel添加Click信号
使用自定义label来实现此功能
其他控件可参照此例。
#include "customerqlabel.h" CustomerQlabel::CustomerQlabel(QWidget *parent, Qt::WindowFlags f): QLabel(parent,f) { } CustomerQlabel::CustomerQlabel(const QString &text, QWidget *parent, Qt::WindowFlags f): QLabel(text,parent,f) { } void CustomerQlabel::mouseReleaseEvent(QMouseEvent * ev) { Q_UNUSED(ev) emit clicked(); }
#ifndef CUSTOMERQLABEL_H #define CUSTOMERQLABEL_H #include <QLabel> class CustomerQlabel : public QLabel { Q_OBJECT public: explicit CustomerQlabel(QWidget *parent=0, Qt::WindowFlags f=0); explicit CustomerQlabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0); protected: /*! 由Qt自己调用的鼠标事件处理函数,在此发射clicked信号 */ virtual void mouseReleaseEvent(QMouseEvent * ev); signals: void clicked(void); }; #endif // CUSTOMERQLABEL_H
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
![](https://www.cnblogs.com/images/cnblogs_com/amwuau/927688/o_1544511405530.jpg)
![](https://images.cnblogs.com/cnblogs_com/amwuau/927688/o_erweima.jpg)
作者:风来风往风伤
出处:http://www.cnblogs.com/amwuau/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。