من یک کلاس برای فیلتر کردن event ها نوشتم به این شکل :
#include <QtWidgets/QApplication>
#include <QMouseEvent>
#include <QPushButton>
#include <QObject>
#include <QEvent>
#include <QDebug>
#include <QLineEdit>
class MyFilter :public QObject
{
public:
bool eventFilter(QObject* obj, QEvent* e){
if (e->type() == QEvent::MouseButtonPress)
{
if (... ? ? )//inja che konam
{
qDebug() << "Right clicking a button";
}
}
return QObject::eventFilter(obj, e);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.installEventFilter(new MyFilter());
QPushButton button;
button.show();
return a.exec();
}
می خواستم بدونم الان چطور میشه فهمید آیا obj از نوع QPushButton* هست و این که آیا کد کلید مربوط به راست کلیک هست یا خیر(داخل QEvent متدی به اسم button من ندیدم)