Qt使用事件过滤器时程序崩溃解原因及决办法(Qt中任意对象的事件过滤器都能将某一事件截住过滤掉)
bool UserMainWindow::eventFilter(QObject *watched, QEvent *event)
{
if(watched == ui->close_btn)
{
if(event->type() == QEvent::HoverEnter)
{
ui->close_btn->setStyleSheet("border-image:url(:/images/close2.png);");
return true;
}
else if(event->type() == QEvent::Leave)
{
ui->close_btn->setStyleSheet("border-image:url(:/images/login_close.png);");
return true;
}
else if(event->type() == QEvent::MouseButtonPress)
{
ui->close_btn->setStyleSheet("border-image:url(:/images/close1.png);");
}
}
return QMainWindow::eventFilter(watched, event);
}
这个地方注意返回值,首先要返回true,在最后的返回值中,必须要返回它的父类的事件过滤器,我这里是mainwindow也就是QMainwindow::eventFilter
相关文章
- Qt-获取EXE版本信息(Qt5+win10)(LPCWSTR、std::wstring)
- Qt事件:changeEvent(改变事件)
- Qt-Button使用QSS变图片按钮(QSS图片分割)
- QT-Qt组件QTimer使用方法
- QT-vs各个版本的编译器号对应的vs版本号
- Qt音视频开发19-vlc内核各种事件通知
- Qt音视频开发24-ffmpeg音视频同步
- Qt音视频开发5-vlc事件订阅
- Qt编写的项目作品29-RTSP播放器+视频监控(海康SDK版本)
- Qt编写物联网管理平台45-采集数据转发
- Qt开源作品9-扁平化样式flatui
- paip.c++ qt 共享库dll的建立
- Qt 2D绘图渐变填充
- Qt创建线程程序示例
- Qt pro中使用DEFINES来实现条件编译
- Qt 自带的数据库QSQLITE
- Qt 事件过滤器原理(installEventFilter函数)
- Qt 捕捉窗口关闭事件与信号的捕捉
- Qt Design Studio使用场景
- Qt事件的接受与忽略
- Qt update刷新之源码分析总结
- Qt串口通信接收数据不完整_qt串口接收数据
- QT-事件发送函数sendEvent()、postEvent()
- Qt 事件发生的先后顺序
- Qt模拟鼠标点击事件
- Qt 事件过滤器