码迷,mamicode.com
首页 > 编程语言 > 详细

C++为QLabel增加单击事件

时间:2015-07-09 19:40:08      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

 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 } 

 

C++为QLabel增加单击事件

标签:

原文地址:http://www.cnblogs.com/FKdelphi/p/4633768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!