如何重写qt的clicked信号,*如何重写qt的clicked信号,如/何重写qt/的clicked信号,
2条回答 默认 最新
关注
定义头文件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); }
本文重写了事件过滤器来添加了点击事件,设置了左键点击,可以根据需求更改。同时不止可以重写鼠标点击事件,可以按照需求来更改代码。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报