65,210
社区成员
发帖
与我相关
我的任务
分享
bool MyLineEdit::event(QEvent *event)
{
switch (event->type()) {
case QEvent::KeyPress:
qDebug() << "xxxx";
QKeyEvent *ev = static_cast<QKeyEvent *>(event);
QLineEdit::keyPressEvent(ev);
return true;
case QEvent::MouseButtonPress:
return true; // 只会拦截MouseButtonPress事件(mousePressEvent虚函数不会被调用)
return QLineEdit::event(event); // 如果把这里换成return true;则只会执行上面switch那些事件,其他事件都会被拦截
bool QWidget::event(QEvent *event)
{
Q_D(QWidget);
// ignore mouse and key events when disabled
if (!isEnabled()) {
switch(event->type()) {
case QEvent::TabletPress:
case QEvent::TabletRelease:
case QEvent::TabletMove:
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
case QEvent::MouseButtonDblClick:
case QEvent::MouseMove:
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
case QEvent::TouchCancel:
case QEvent::ContextMenu:
case QEvent::KeyPress:
case QEvent::KeyRelease:
#ifndef QT_NO_WHEELEVENT
case QEvent::Wheel:
#endif
return false;
default:
break;
}
}
switch (event->type()) {
case QEvent::MouseMove:
mouseMoveEvent((QMouseEvent*)event);
break;
case QEvent::MouseButtonPress:
mousePressEvent((QMouseEvent*)event);
break;
case QEvent::MouseButtonRelease:
mouseReleaseEvent((QMouseEvent*)event);
break;
case QEvent::MouseButtonDblClick:
mouseDoubleCl