Qt中定义可点击标签

PyQt5_pyqtgraph添加点标记 目录 效果: 代码: 使用: 效果: 代码: import sys import pandas as pd from PyQt5 import QtCore,QtWidgets from PyQt5.QtCore import Qt from typing import Any,Dict,List import pyqtgraph as pg pg.setConfigOption('background', 'w') pg.setConfigOption('foreground', . 阅读详情

http://wgt2050.blog.163.com/blog/static/18162431920116123151111/


Qt中有好多窗体都不能满足应用需要,需要自己定义窗体部件。例如,Qlabel不具有点击功能,为此,我想自己定义一个具有点击功能的label类,并且将其添加到Qt desinger中。

定义clickablelabel的方法:见http://blog.youkuaiyun.com/rockeinstein2/article/details/5296242。

1,新建clickablelabel文件夹,建立头文件clickablelabel.h,新建一个类clickablelabel从QLabel中继承过来。

#ifndef CLICKABLELABEL_H

#define CLICKABLELABEL_H

#include<QtGui>
class ClickableLabel : public QLabel
{
    Q_OBJECT
public:
    ClickableLabel(QWidget *parent=0);
    int MyLabelPressed;
    void mousePressEvent(QMouseEvent *e);
    void mouseReleaseEvent(QMouseEvent *e);
signals:
    void clicked();
};
#endif // CLICKABLELABEL_H
 
2,然后建立相应的cpp文件clickablelabel.cpp
#include "clickablelabel.h"
ClickableLabel::ClickableLabel(QWidget *parent) :
    QLabel(parent)
{
    this->setText("ClickableLabel");
}
void ClickableLabel::mousePressEvent ( QMouseEvent * e )
{
    MyLabelPressed = 1;
}
void ClickableLabel::mouseReleaseEvent(QMouseEvent *e)
{
    if ( MyLabelPressed)
       {
           emit clicked();//发出点击信号
           MyLabelPressed = 0;
       }
}
这样就实现了可以点击的标签clickablelabel类,下面将它集成到qt designer中:
在clickablelabel文件夹的同级目录下建立文件夹clickablelabelplugin。
 
3,建立clickablelabelplugin.h头文件:
#ifndef CLICKABLELABELPLUGIN_H
#define CLICKABLELABELPLUGIN_H
#include <QDesignerCustomWidgetInterface>
class clickablelabelplugin : public QObject,
        public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES(QDesignerCustomWidgetInterface)
public:
    clickablelabelplugin(QObject *parent = 0);
    QString name() const;
    QString includeFile() const;
    QString group() const;
    QIcon icon() const;
    QString toolTip() const;
    QString whatsThis() const;
    bool isContainer() const;
    QWidget *createWidget(QWidget *parent);
signals:
public slots:
};
#endif // CLICKABLELABELPLUGIN_H
 
4,然后建立cpp文件:
#include <QtPlugin>
#include "clickablelabelplugin.h"
#include "../clickablelabel/clickablelabel.h"
clickablelabelplugin::clickablelabelplugin(QObject *parent) :
    QObject(parent)
{
}
QString clickablelabelplugin::name() const
{
    return "ClickableLabel";
}
QString clickablelabelplugin::text() const
{
    return "ClickableLabel";
}
QString clickablelabelplugin::selectedText() const
{
    return "ClickableLabel";
}
QString clickablelabelplugin::includeFile() const
{
    return "clickablelabel.h";
}
QString clickablelabelplugin::group() const
{
    return tr("Image Manipulation Widgets");
}
QIcon clickablelabelplugin::icon() const
{
    return QIcon(":/images/clickablelabel.png");
}
QString clickablelabelplugin::toolTip() const
{
    return tr("A clickablelabel widget");
}
QString clickablelabelplugin::whatsThis() const
{
    return tr("This widget is A clickablelabel widget");
}
bool clickablelabelplugin::isContainer() const
{
    return false;
}
QWidget *clickablelabelplugin::createWidget(QWidget *parent)
{
    return new ClickableLabel(parent);
}
Q_EXPORT_PLUGIN2(clickablelabelplugin, clickablelabelplugin)
 
5,然后建立工程:clickablelabelplugin.pro,将clickablelabel.h和clickablelabel.cpp包含进来。
TEMPLATE = lib #//自动生成的是app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .
CONFIG       += designer plugin release
# Input
HEADERS += clickablelabelplugin.h \
    ../clickablelabel/clickablelabel.h
SOURCES += clickablelabelplugin.cpp \
    ../clickablelabel/clickablelabel.cpp
DESTDIR       = $$[QT_INSTALL_PLUGINS]/designer
RESOURCES += \
    images/clickablelabel.qrc

 

6,编译,进入minGW中输入nmake,运行通过,打开qt designer,就能看到新的可点击标签啦~

Qt-Qlabel 自定义鼠标点击事件以及文本样式效果设计 最近项目中需要实现一个消息推送的功能,模仿QQ消息弹窗的方式实现 阅读详情

相关推荐

[QT]自定义的QtabWidget标签页右侧添加按钮

自定义QtabWidget实现标签页右侧增加按钮

qq_47500842的博客 2366

Qt Label添加点击事件

Qt添加点击事件

王建国的专栏 1万+

使用Qt Quick进行曲线绘制并自定义轴标签和数据点标签是一项有趣且易于实现的任务。在这篇文章中,我将向你展示如何使用Qt Quick和LineSeries组...

我们还在LineSeries组件中添加了一些属性来控制数据点标签的显示方式,例如PointLabelsVisible,PointLabelsClipping,PointLabelsColor,PointLabelsFont,和PointLabelsSize。在这篇文章中,我将向你展示如何使用Qt Quick和LineSeries组件来绘制曲线,并演示如何自定义轴标签和数据点标签。在这个chart中,我们添加了一个名为“lineSeries”的LineSeries组件,并设置了一些数据点来展示曲线。

. 737

QT 如何实现QLabel的点击事件

默认情况下,QLabel是不支持点击事件的,要实现QLabel的点击事件,一般有两种方式: 1、继承QLabel,重写鼠标点击事件,通过发送信号与父窗体实现通讯 ClickableLabel.hpp /*! * \file ClickableLabel.hpp * * \brief Clickable Label * * \author Kandy * \date 2021/11/19 16:49:40 */ #pragma once #include <QLabel> #incl

HelloKandy's Blog 1万+

Qt/C++编写自定义控件:导航标签

在上面的代码中,我们实现了导航标签的构造函数和两个私有函数。在上面的代码中,我们声明了一个私有的QHBoxLayout指针和一个存储QPushButton指针的向量。在您的主窗口的源文件中,包含导航标签的头文件,并在合适的位置创建和添加导航标签控件。现在,您可以编译和运行您的应用程序,以查看导航标签控件的效果。您将看到三个导航选项按钮,并且当您点击按钮时,活动按钮的样式将被更新。在上面的代码中,我们在主窗口的构造函数中创建了一个导航标签控件,并将其设置为主窗口的中心部件(central widget)。

DevNinja的博客 127

NVIDIA Jetson Orin系列 - 使用SDK Manager安装JetPack全流程解析

本文详细解析了使用NVIDIA官方SDK Manager为Jetson Orin系列开发板安装JetPack系统的完整流程。从环境准备、设备进入恢复模式,到SDK Manager图形化界面的分步操作指南,提供了新手友好的全流程解析,并分享了安装后的验证方法及常见问题解决方案,帮助开发者高效搭建稳定的边缘AI开发环境。

nn3456的博客 406

Qt QChart画折线图 - 点标签

QChart画折线图 - 点标签

做减求空 5635

极智量化平台实战:5分钟教你用Python实现双均线交易策略(附完整代码)

本文详细介绍了如何在极智量化平台上使用Python实现双均线交易策略,包括数据获取、信号生成、回测分析和策略优化。通过完整的代码示例和实战演示,帮助开发者快速掌握量化交易系统的基本原理和应用方法,实现自动化交易。

weixin_29269441的博客 487

qcustomplot鼠标点击后在坐标轴显示值

首先上图看下要实现的效果:即图中有两条曲线,鼠标点击后显示横坐标的值,以及与两条曲线交点的纵坐标的值。注意:本例只是实现了坐标值的显示,所以显示的值和曲线值不符,鼠标点击的事件可以自行实现。参照网址:http://www.qcustomplot.com/index.php/tutorials/specialcases/axistags 的方法,稍加改编实现。主要步骤:1.在qt中添加类TagAxi...

cloudsmile的博客 9028

python爬取淘宝数据

python爬取淘宝数据淘宝评论 淘宝评论 打开淘宝,选择打开需要爬取的商品的评论。在谷歌浏览器选择开发者工具,选择network,找到list_detail_rate.htm?itemId=624466733121,点击headers、previews,可以看见相应的评论数据。 爬取一页屏评论代码如下 import re import requests headers = { 'Referer': '在headers中', 'User-Agent': '在

qq_36333776的博客 5797

开源PACS系统Orthanc(DICOM服务器)配置

PACS(Picture Archiving and Communication System)是医学影像的数字化存储、检索和传输系统,用于管理和存储医学图像和相关信息,如放射学、核医学、超声、病理学等各种医学影像。PACS系统通过数字化技术取代了传统的胶片方式,使医疗机构能够更高效地存储、传输和查看医学图像,从而提高了医疗图像的管理和工作流程。

qq_42231043的博客 6249

QT-实现QListWidget显示自定义item

QListWidget 自定义item

wangyanan52121的博客 1925

【机器学习系列】一文搞懂 零知识机器学习(zkML)

位串行乘法器:实现了Booth编码优化,将乘法分解为移位-加法序列,减少部分积数量50%:模拟脉动阵列的2D网格计算,支持分块(tiling)策略优化内存层次卷积映射:提供直接卷积(行缓冲+滑动窗口)和im2col+GEMM两种硬件映射策略。

VectorShift的博客 154

QT实现自定义tag标签

需求 近期项目上需要用到QT,刚接触不久就遇到一个需求。需要在form表单上实现标签,标签长度随着文字的长度而变化,并且支持关闭和选中两种状态。 从遇到问题到解决问题总共用了3天业务时间,有一段时间没有钻研技术问题了,决定记录一下。 需求两种情况如下图所示(下图是已经实现的结果): 思考 遇到这个需求的第一反映是去网上找现成的控件来使用,找了一圈发现没有。 期间还尝试用QViewList+委托来实现,但是遇到item大小都是固定的问题,没法根据文字的长度进行分别显示,花了一天时间没有解决,果断放弃! 进而

Mattscl的博客 2312

Centos 7 Linux 离线安装使用 MySQL 5.7:下载、安装、配置、使用

本文详细介绍了在 CentOS 7 系统下离线安装 MySQL 5.7 的完整流程,包括环境准备、安装包下载、用户与目录配置、数据库初始化、服务启动与自启设置、root 密码修改、远程访问开启及防火墙配置等关键步骤,并提供了本地与远程客户端(如 Navicat、DBeaver)的连接使用方法,适合无网络环境下的数据库部署参考。

寒水馨 · 轻量级技术文档 · hanshuixin.org 6111

【AIGC】大模型面试高频考点09-大模型Agent框架

聚焦AIGC专业技术分享

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 1964

Qt自定义信号_槽的编程教程

本文所示代码在windows xp + MingW3.4.2+ eclipse3.4+CDT5.0版本中调试通过 QT系统为我们提供功能非常全面信号处理机制,它的内制信号和槽已经非常全面,因此大多数情况下,我们不需要自己设计信号和槽,但是有些时候,我们可能需要设计一些独特的信号和槽,来满足程序的需求。QT的核心机制信号和槽是独立于C++的,一般C++设计处理如按钮点击等方法,多采用回调函数,而回

道法自然 1484

【乐企】有关乐企能力测试接口对接-基础版(详细)

乐企能力测试接口对接详细代码以及步骤

九七的博客 7657

QT QTabWidget标签窗口控件

在ui_mainwindow.h中, 定义了UI界面类型, 定义了窗口中的各种界面控件元素。首先创建了主窗口的中心窗口。然后创建了标签窗口控件。在这个标签窗口控件中, 依次创建了标签栏按钮A、B、C 以及对应的窗口A、B、C。在窗口界面中放了一个标签窗口控件QTabWidget。标签栏有三个标签按钮, 依次是QT Widgets、QT Web、QT QML。每一个标签对应一个窗口。在QT界面设计器中, 窗口界面中有一个标签窗口控件。标签窗口的标签栏上有三个标签按钮。标签窗口底部有三个窗口。

QT WIDGETS,QT QML,QT WEB、OpenCV 961

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Qt自定义标签按钮

当你接触到Qt时,你会为它极为方便的跨平台方面感到吃惊,从而想尝试着使用Qt。渐渐地你会发现Qt自带的一些控件不能满足自己的需要,此时就需要我们自己定义一个属于自己的控件。总所周知,标签的风格设置类比较多,但默认的标签没有鼠标响应事件。 今天,给大家带来的是:标签按钮类。从名字就可以看出,将标签修改成按钮,从而让标签具有按钮鼠标的响应功能。 在你的Qt工程中 添加新文件:C++

Aili_Xiao的博客 1035

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Qt 主窗口点击按钮 弹出另一个自定窗口在窗口有按钮

Qt 主窗口点击按钮 弹出另一个自定 List item 1.新建一个qt项目Application的Qt widgets Application,项目名字自己起,我是没有改用untitled 2.右键项目->添加新文件->Qt设计师界面类( 建立一个对话框类:类名为Dialog(默认的没改)) 3.打开forms的mainwindow.ui添加一个pushButton,然后右键选...

weixin_45656436的博客 3813

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Qt6实现QLabel点击跳转到另一个界面

QLabel实现鼠标点击事件

m0_59418332的博客 1080

QT为QLabel添加Click事件

版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。 ClickedLabel.h#ifndef CLICKEDLABEL_H_#define CLICKEDLABEL_H_#include #include class ClickedLabel : public QLabel{

我一路走来--- 1万+

Qt下自定义QSS属性

SelfProperty.h #ifndef SELFPROPERTY_H #define SELFPROPERTY_H #include <QLabel> #include <QWidget> #include <QPushButton> #include <QHBoxLayout> #include <QVBoxLayout> enum class emType { P_Red=0, P_Blue, P_Green };

youyicc 433

用QT 做个HTML的Label

HTML的Label现在好象很常见,但是这个东西在MFC下面的实现却不是非常简单的事情。MFC就不说了,标题是用QT,那我们就看看QT下面怎么做。由于Qt的Event模型,所以我们做很多事情都比较简单。我们要做的,就是继承一下QLabel,自定一下event的处理就可以了HTMLLabel.h[code]class QHTMLLabel : public QLabel{Q_OBJECT

在水一方 3421
上一篇: 在Z-Stack代码中使用常量(Using Constants in Code with Z-stack)
下一篇: USB枚举的详细流程
獠
獠
博客等级 码龄16年 43粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值