16,216
社区成员
发帖
与我相关
我的任务
分享
m_pushButton->installEventFilter(this);
bool MainWindow::eventFilter(QObject *o, QEvent *e)
{
if(o == ui->pushButton)
{
if(e->type() == QEvent::MouseButtonPress)
{
//进行事件处理
}
}
return false;
}
CustomButton *button=new CustomButton();
connect(button,SIGNAL(mouseEnter()),this,SLOT("该怎么处理就怎么处理"));
//.h文件
#ifndef NEWBUTTON_H
#define NEWBUTTON_H
#include <QPushButton>
#include <QEvent>
#include <QPoint>
class CustomButton : public QPushButton
{
Q_OBJECT
public:
explicit CustomButton(QWidget *parent = 0);
private:
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
signals:
void mouseEnter();
void mouseLeave();
public slots:
};
#endif // NEWBUTTON_H
//.cpp
#include "CustomButton.h"
#include <QDebug>
CustomButton::CustomButton(QWidget * parent) :
QPushButton(parent)
{
}
void CustomButton::enterEvent(QEvent *e){
emit mouseEnter();
}
void CustomButton::leaveEvent(QEvent *e){
emit mouseLeave();
}
QPushButton *m_pushButton=new QPushButton