zoukankan      html  css  js  c++  java
  • 如何给Qlabel添加clicked属性(覆盖mousePressEvent,处理QMouseEvent消息,反正是软绘制,想怎么样就怎么样)

    clickedLabel.h

    #ifndef CLICKLABEL_H
    #define CLICKLABEL_H
    #include <QLabel>
    #include <QMouseEvent>
    
    class ClickLabel : public QLabel
    {
        Q_OBJECT
    public:
        explicit ClickLabel(QWidget *parent = 0);
        ~ClickLabel();
    signals:
        void clicked();//自定义clicked()信号,在mousePressEvent事件发生时触发
    protected:
        virtual void mousePressEvent(QMouseEvent* event);//重写mousePressEvent事件
    };
    
    #endif // CLICKLABEL_H
    

    clickedLabel.cpp

    #include "clicklabel.h"
    
    ClickLabel::ClickLabel(QWidget* parent)
        : QLabel(parent)
    {
    }
    
    ClickLabel::~ClickLabel()
    {
    }
    
    void ClickLabel::mousePressEvent(QMouseEvent *event)//重写mousePressEvent事件,检测事件类型是不是点击了鼠标左键
    {
        //如果单击了就触发clicked信号
        if (event->button() == Qt::LeftButton) {
            //触发clicked信号
            emit clicked();
        }
        //将该事件传给父类处理
        QLabel::mousePressEvent(event);
    }
    

    使用前把qlabel的类提升为ClickLabel 
    这里写图片描述 
    这里写图片描述


    添加SLOT函数

    private slots:
        void clicklabel_clicked();  //定义槽函数处理label clicked

    connect

     connect(ui->setrefresh_img_label, SIGNAL(clicked()), this, SLOT(clicklabel_clicked()));

    这里写图片描述

     
     

    http://blog.csdn.net/linbounconstraint/article/details/52414013

  • 相关阅读:
    17.07.28 SQL 函数
    JavaScript 数组去重
    JavaScript 之 DOM
    JavaScript 之 BOM
    JavaScript之Math
    JavaScript之String
    JavaScript之数组
    JavaScript之作用域
    JavaScript之函数
    JavaScript之循环
  • 原文地址:https://www.cnblogs.com/findumars/p/5837583.html
Copyright © 2011-2022 走看看