Qt QLabel響應滑鼠按下的訊息
阿新 • • 發佈:2018-12-14
MainWindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); protected: bool eventFilter(QObject *watched, QEvent *event); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
MainWindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->label->installEventFilter(this); } MainWindow::~MainWindow() { delete ui; } bool MainWindow::eventFilter(QObject *watched, QEvent *event) { if(watched == ui->label) { if(event->type() == QEvent::MouseButtonPress) { qDebug()<<"label clicked!"; } } return QMainWindow::eventFilter(watched,event); }