zoukankan      html  css  js  c++  java
  • C++为QLabel增加单击事件

     1 原文来源:
     2 http://www.cnblogs.com/findumars/p/4058379.html
     3 
     4 原理:
     5 其实就是改写了一个函数:mouseReleaseEvent,当在QLabel放开鼠标的时,就发射点击信号。
     6 
     7 1.定义Label类
     8 #ifndef CLICKEDLABEL_H_  
     9 #define CLICKEDLABEL_H_  
    10 #include <QLabel>  
    11 #include <QWidget>  
    12 class ClickedLabel : public QLabel  
    13 {  
    14     Q_OBJECT  
    15 signals:  
    16     void Clicked(ClickedLabel* clicked);  
    17 public:  
    18     ClickedLabel(QWidget *parent=0): QLabel(parent),m_str("")  
    19     {  
    20         setText(m_str);  
    21     };  
    22     ~ClickedLabel() {};  
    23 protected:  
    24     void mouseReleaseEvent( QMouseEvent* );  
    25 private:  
    26     QString m_str;  
    27 };  
    28 #endif /* CLICKEDLABEL_H_ */  
    29 
    30 2.实现代码
    31 #include "ClickedLabel.h"  
    32 void ClickedLabel::mouseReleaseEvent(QMouseEvent *evt)  
    33 {  
    34     emit Clicked(this);  
    35 } 
  • 相关阅读:
    习题解答chapter09
    习题解答chapter08
    习题解答chapter07
    银行账户实验-1.2
    银行账户实验-1.1
    银行账户实验-1.0
    习题解答chapter06
    习题解答chapter05
    习题解答chapter04
    习题解答chapter03
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4633768.html
Copyright © 2011-2022 走看看