实现QLabel点击事件,及自定义对话框@TOC

实现QLabel点击事件

我们经常会遇到,点击QLabel弹出一个Dialog进行数据的更新,但是QT本身的QLabel没有clicked事件,这时需要我们继承QLabel然后加入自定义点击事件。

自定义类继承QLabel

我们可以通过重写QLabel中的mousePressEvent()或mouseReleaseEvent()事件来达到QLabel的点击事件。

CustomLabel.h 代码如下

#ifndef CUSTOMLABEL_H
#define CUSTOMLABEL_H
#include <QWidget>
#include <QLabel>
#include <QMouseEvent>
class CustomLabel : public QLabel
{Q_OBJECT
public:explicit CustomLabel(QWidget *parent = nullptr);signals:void clicked();protected:virtual void mousePressEvent(QMouseEvent* event);//重写mousePressEvent事件
};
#endif // CUSTOMLABEL_H

首先在里面定义一个信号clicked();
然后声明要重写的mousePressEvent();

CustomLabel.cpp 代码如下

#include "customlabel.h"
CustomLabel::CustomLabel(QWidget *parent) : QLabel(parent)
{}
void CustomLabel::mousePressEvent(QMouseEvent *ev)
{//如果单击了就触发clicked信号if (ev->button() == Qt::LeftButton) {//触发clicked信号emit clicked();}//将该事件传给父类处理QLabel::mousePressEvent(ev);
}

最后可以将QLabel提升为CustomLabel。
操作步骤如下:
1、首先选中要修改的QLabel的组件。
2、右键然后选择提升为。
3、然后在提升类名称中写入CustomerLabel,点击添加,一定注意大小写。
4、点击提升即可。

具体使用
可以通过connect链接到自定义的clicked信号

connect(ui->temperature1_limit,&CustomLabel::clicked,this,[=](){qDebug()<<"temperature1_limit is run";
});

QT:自定义QLabel实现点击事件相关推荐

  1. QT 如何实现QLabel的点击事件

    默认情况下,QLabel是不支持点击事件的,要实现QLabel的点击事件,一般有两种方式: 1.继承QLabel,重写鼠标点击事件,通过发送信号与父窗体实现通讯 ClickableLabel.hpp ...

  2. jbutton添加点击事件_electron-vue自定义边框后点击事件失效问题

    问题描述:electron-vue自定义边框后点击事件失效(不单单点击事件,窗体内所有事件都失效) 解决方案:在需要事件处理的节点上添加样式-webkit-app-region:no-drag; sr ...

  3. layui 按钮点击一次后失效_electron-vue自定义边框后点击事件失效问题

    问题描述:electron-vue自定义边框后点击事件失效(不单单点击事件,窗体内所有事件都失效) 解决方案:在需要事件处理的节点上添加样式-webkit-app-region:no-drag; sr ...

  4. google地图--自定义标记以及点击事件

    之前做项目需要使用到地图,由于是做国外网站,所以考虑了几种地图之后,决定用谷歌地图.但是在完成某一需求时,碰到了问题:点击marker标记,弹出设计图上的内容.谷歌地图默认的弹框和设计图不符合,所有我 ...

  5. qt 两种按钮点击事件应用

    1.传统connect 例如: connect(ui->findPushBtn,SIGNAL(clicked()),this,SLOT(find())); 参数1:事件UI 参数2:点击系统函数 ...

  6. ios点击大头针气泡不弹出_高德 ios 自定义气泡添加点击事件无效问题

    在使用高德地图sdk开发的时候,需要自定义气泡吹出框,发现气泡添加的点击事件或者button都没响应. 原因:自定义的气泡是添加到大头针上的,而大头针的size只有下面很小一部分,所以calloutV ...

  7. iOS自定义backBarButtonItem的点击事件

    最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按 ...

  8. android:performClick的用法——自定义View增加点击事件更配performClick噢!

    文章目录 浅析 如何使用 模拟点击事件 配合自定义View 浅析 performClick 官方注释 Call this view's OnClickListener, if it is define ...

  9. vue自定义组件的点击事件失效

    在vue开发过程中为了减少重复代码,很多时候都需要将重复的部分写成一个组件,方便调用.但是使用组件时很可能又会给该组件添加点击事件.如果直接这样写,事件则会失效: 正确写法应该是这样:

最新文章

  1. 学界 | 进化算法可以不再需要计算集群,开普敦大学的新方法用一块GPU也能刷新MNIST记录
  2. 防止对 Visual Basic .NET 或 C# 代码进行反相工程
  3. 《2020雇佣关系趋势报告》今发布:近三成受访者兼职,近七成工作量增加、考核变严格
  4. java的linux执行的shell
  5. java assert语句未执行_Java陷阱之assert关键字
  6. 基于TCP和多线程实现无线鼠标键盘-Socket(1)
  7. 一个项目部署多个节点会导致锁失效么_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)...
  8. 【没理解】为何JAVA虚函数(虚方法)会造成父类可以访问子类的假象?
  9. c语言编译运行的几步
  10. 没有更改计算机日期权限,修改电脑时间_修改电脑时间没有权限
  11. 华为荣耀c4刷入linux系统,华为荣耀畅玩4C移动4G(CHM-TL00 Android 4.4)刷Recovery教程
  12. 图片情感分析(1):图像数据预处理
  13. 母乳储存袋和奶瓶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. 基于Android的学生管理系统的设计与实现
  15. ESP32 使用 RTC_GPIO 唤醒 Deep-Sleep 模式
  16. 企业微信会话存档功能开启
  17. 基于J2EE的科研项目管理系统设计与实现
  18. 文件夹下的图片名字进行重命名--批量操作
  19. axure画扇形_如何利用axure制作一个动态的饼状图
  20. 最新kali之john

热门文章

  1. 美制单位与国际单位的转换
  2. Tushare获取积分常规办法
  3. 数据库:Mysql中“select ... for update”排他锁分析
  4. 利用TCP和UDP协议,实现基于Socket的小聊天程序(初级版)
  5. 机器学习中常见的损失函数及其应用场景
  6. Linux的基本学习(三)——目录配置、文件与目录管理
  7. xjb java,java – .xsd不是此编译的一部分.这是.xjb的...
  8. 6、利用三角函数求物体速度分解到 x 轴和 y 轴上的分速度
  9. 安卓获取摄像头帧率_Android Camera预览时输出的帧率控制
  10. Zotero | 群组Group功能的建立,加入及管理使用(十)