自定义标题栏最小化在最大化(Qt界面控件不刷新了)

!!坑

当时写的软件用的自定义标题栏 设置 Qt::Frame;essWindowHint 和 Qt::WA_TranslucentBackground,然后最小化 在点击任务栏上的图标使其最大化 反复搞两次 Qt 的界面就卡死了 不刷新了 ,按钮点了也没反应 也没焦点 QLineEdit 也点不到 ,当时解决这个问题都做好通宵的左准备了 以为是内存泄漏了 就把其他的代码都给注释了 就,留下 标题栏那一块代码, 还是出现这个问题 在网上找资料 看到一篇帖子说的 是 Qt 5.xx 的一个bug 自定义标题栏 可能导致界面不刷新

void showEvent(QShowEvent *e){
    this->setAttribute(Qt::WA_Mapped);
    QWidget::showEvent(e);
}

在界面重写 showEvent 让他刷新 就解决了 这个问题,很奇怪为啥出这个问题 我很多软件都是重写的标题栏 就那一个出了这个问题 。

98年菜鸡一枚,请大佬们多多照顾!

猜你喜欢

转载自blog.csdn.net/weixin_42837024/article/details/81511560