QT为QLabel添加Click事件

其实就是改写了一个函数:mouseReleaseEvent,当在QLabel放开鼠标的时,就发射点击信号。

[cpp] view plaincopy

  1. #ifndef CLICKEDLABEL_H_
  2. #define CLICKEDLABEL_H_
  3. #include <QLabel>
  4. #include <QWidget>
  5. class ClickedLabel : public QLabel
  6. {
  7. Q_OBJECT
  8. signals:
  9. void Clicked(ClickedLabel* clicked);
  10. public:
  11. ClickedLabel(QWidget *parent=0): QLabel(parent),m_str("")
  12. {
  13. setText(m_str);
  14. };
  15. ~ClickedLabel() {};
  16. protected:
  17. void mouseReleaseEvent( QMouseEvent* );
  18. private:
  19. QString m_str;
  20. };
  21. #endif /* CLICKEDLABEL_H_ */

[cpp] view plaincopy

  1. #include "ClickedLabel.h"
  2. void ClickedLabel::mouseReleaseEvent(QMouseEvent *evt)
  3. {
  4. emit Clicked(this);
  5. }

参考:http://blog.csdn.net/tingsking18/article/details/4071619

时间: 2024-09-30 06:12:14

QT为QLabel添加Click事件的相关文章

QLabel添加clicked事件

做Qt开发的会知道QLabel是默认没有clicked事件的,但是Qt有很好的一套信号/槽机制,而且Qt是基于C++面向对象的思想来设计的,那么我们就很容易通过自己定义一些类,重写QLineEdit或者QLabel的一些方法去实现没有的方法,比如clicked事件.本人就以QLabel添加clicked事件来说明. Qt里面有个关键字emit,这个关键字意思就是触发一个信号,具体emit更详细的使用方法,可以百度,本文不做具体详解,只需知道emit是触发一个信号的方法即可. 下面我们就开始讲如何

C#界面之为TreeView上任意子节点添加Click事件

 PanPen120在CSDN上原创,如其他网站转载请注意排版和写明出处: http://write.blog.csdn.net/postlist 主要解决的问题:WinForm中用到树TreeView控件,想要点选任意节点有Click事件,但是发现点击子节点没有进入代码弹出Click事件 因为有事,现在有点晚了,直接上刚刚给自己写好的Demo

vue中,svg图标添加click事件,部分浏览器不生效

vue项目中,使用svg图标,但是发现,为svg图标绑定click事件时,部分浏览器会出现,点击没有反应的情况,代码如下: <icon name="icon_add" @click="addSubject(scope.$index)"> </icon> 后来发现,在edge内核中只有点击svg边缘部分才会触发click事件 所以解决办法如下:为svg图标外面包裹一层元素,click事件绑定在外侧元素上 <a href='javascri

a-frame学习笔记—实体添加click事件

最近无意中接触到a-frame这个框架,稍微看了一下介绍,感觉挺强大,有点类似web版的的unity3d.废话不多少直接进入主题~. a-frame是一个vr引擎,如果想在空间里用鼠标点击或者移动端触摸某一个物体做交互,a-frame只能通过游标组件来实现,如果是不想使用游标组件来实现那可就得废功夫了. 下面就介绍一个很好用的插件 https://github.com/mayognaise/aframe-mouse-cursor-component

IView 使用Table组件时实现给某一列添加click事件

通过给 columns 数据的项,设置一个函数 render,可以自定义渲染当前列,包括渲染自定义组件,它基于 Vue 的 Render 函数. render 函数传入两个参数,第一个是 h,第二个是对象,包含 row.column 和 index,分别指当前单元格数据,当前列数据,当前是第几行. 代码: render: (h, params) => { //return h('定义的元素',{'元素的性质'},'元素的内容'); let url = '访问的地址' return h('a',

通过js添加的DOM节点的click事件绑定不上的解决方案以及IOS下click事件委派失效的解决方案

问题描述: 如以下代码所示,通过js添加的Dom节点,在其上绑定点击事件,有的时候会出现点击事件不响应的情况,按照正常的理解,js代码具有阻塞性,Dom节点添加成功之后,就可以找到该节点并绑定事件,没有道理会出现事件绑定不上的问题,但是这种情况的确是遇到了多次,问题原因有待日后深入理解,下面记载一下问题的解决方案. 解决方案: 方案一:将事件绑定直接写在行内标签上"<thead onclick='myFunction(this)' >",其中,this代表的是当前元素,是一

在微信公众号开发(微站)过程中用Zepto/jquery的on/live绑定的click事件点击无效(不能执行)

问题描述 当使用委托给一个非button.a标签元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法 解决办法有 4 种可供选择: ?将 click 事件直接绑定到目标?元素(??即 .target)上 将目标?元素换成 <a> 或者 button 等可点击的?元素 ?将 click 事件委托到?????非 document 或 body 的??父级元素上 ?给?目

js动态绑定click事件时function传参问题

今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件,绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进来,然而不知道为什么,click事件无法正常响应, 最后发现可以这么做,将需要传入的参数加入button的属性中,然后通过getAttribute()获得: 1 function add_book_panel(infor){ 2 //在这个函数中进行DOM元素操作,需要传入参数infor 3 - 4

Goods:购物车模块之全选按钮与条目之复选按钮的click事件

1 <script type="text/javascript"> 2 /* 3 计算总计方法 4 */ 5 $(function() { 6 7 showTotal(); //文档加载完就计算总计 8 9 //给全选添加click事件 10 $("#selectAll").click(function() { 11 //获取全选的状态 12 var bool = $("#selectAll").attr("checked&