感谢经历、 2022-03-24 17:43 采纳率: 67.9%
浏览 265
已结题

如何重写qt的clicked信号

如何重写qt的clicked信号,*如何重写qt的clicked信号,如/何重写qt/的clicked信号,

  • 写回答

2条回答 默认 最新

  • 卡尔曼的BD SLAMer 计算机视觉领域新星创作者 2022-03-24 18:10
    关注

    定义头文件mylineedit.h

    #ifndef MYLINEEDIT_H
    #define MYLINEEDIT_H
    
    #include <QObject>
    #include <QLineEdit>
    #include <QMouseEvent>
    class MyLineEdit : public QLineEdit
    {
        Q_OBJECT
    public:
        explicit MyLineEdit(QWidget *parent = NULL);
        void init();
    protected:
        void mousePressEvent(QMouseEvent *event);//重写mousePressEvent
    signals:
        void clicked();//clicked信号
    

    源文件(mylineedit.cpp)

     MyLineEdit:: MyLineEdit(QWidget *parent) :
        QLineEdit(parent)
    {
        this->setEchoMode(BoxPswLineEdit::Password);//默认输入格式为密文,根据需求添加默认属性
    }
    //重写事件过滤器
    void MyLineEdit::MyLineEdit(QMouseEvent * event)
    {
    
        if (event->button() == Qt::LeftButton)//鼠标点击左键就会触发信号,根据需求设置
        {
            emit clicked();
        }
        QLineEdit::mousePressEvent(event);
    }
    
    
    

    本文重写了事件过滤器来添加了点击事件,设置了左键点击,可以根据需求更改。同时不止可以重写鼠标点击事件,可以按照需求来更改代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'