使用自定义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

 

相关文章:

  • 2022-12-23
  • 2021-08-20
  • 2021-12-27
  • 2022-12-23
  • 2021-11-15
  • 2021-08-04
  • 2021-11-25
  • 2021-06-21
猜你喜欢
  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案