QLabel添加Click信号

Posted 风来风往风伤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于QLabel添加Click信号的主要内容,如果未能解决你的问题,请参考以下文章

QTableWidget、Cellwidget、QLabel

单击PushButton时如何在多个QLabel中打印?

QlineEdit 和信号&槽

QT 继承Qt原有的类并完成新功能

Pyqt5:使用Qlabel标签进行视频播放

QT写hello world 以及信号槽机制