#include "dmdoublespinbox.h" #include "eventfilterwheel.h" #include #include DMDoubleSpinBox::DMDoubleSpinBox(QWidget *parent) : QDoubleSpinBox(parent) { installEventFilter(new EventFilterWheel()); // 只有在鼠标点击或按下tab键时获取焦点 setFocusPolicy(Qt::StrongFocus); setKeyboardTracking(false); installEventFilter(this); } #ifdef QT_DEBUG bool DMDoubleSpinBox::eventFilter(QObject *watched, QEvent *event) { // Q_UNUSED(watched) // QDoubleSpinBox *castSBox = static_cast(watched); if(event->type()==QEvent::Timer) { QTimerEvent *tEvent = static_cast(event); if(tEvent) qDebug() << "<--QEvent::Timer-->" << tEvent->timerId(); return true; } return QObject::eventFilter(watched,event); } #endif