找回密码
 立即注册
收起左侧

Qt5界面从最小化点击之后,无法响应鼠标hover样式了

1
回复
49
查看
[复制链接]

尚未签到

来源: 4 天前 显示全部楼层 |阅读模式
1Qter豆



鼠标点击最小化之后重新点击任务栏的图标软件再显示出来之后,无法响应qss hover样式,请问是什么问题造成的(无边框方案)? ShowEvent中设置setAttribute(Qt::WA_Mapped); 也是无效的。现在唯一可行的是用鼠标任意单击一下软件界面,又可以了,不知道是什么问题,考虑用鼠标模拟点击解决一下,还是无法解决。







QPoint pos(10,10);

            QWidget* child = this->childAt(pos);
                QMouseEvent *pressEvent, *releaseEvent;
                pressEvent = new QMouseEvent(QEvent::MouseButtonPress, QPoint(10, 10), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
                releaseEvent = new QMouseEvent(QEvent::MouseButtonRelease, QPoint(10, 10), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
                QApplication::sendEvent(child, pressEvent);
                QApplication::sendEvent(child, releaseEvent);

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

累计签到:863 天
连续签到:1 天
3 天前 显示全部楼层
本帖最后由 wdmxtk002 于 2021-9-15 14:18 编辑

重写一些这个方法试试
void showEvent(QShowEvent *e)
{
this->setAttribute(Qt::WA_Mapped);
QWidget::showEvent(e);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册