qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面中止刷新(Qt5.1解决了这个

t widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面中止刷新less

Widget with Qt::FramelessWindowHint and Qt::WA_TranslucentBackground stops painting after minimize/restorethis

被这个问题折腾了好几天, 真特么郁闷.net

该bug在qt 5.1.1中修复, bugreport连接 https://bugreports.qt-project.org/browse/QTBUG-17548
这个bug都发现N久了, 如今才修复rest

以前的版本的话, 能够试下下面的方法, 基本可用, 但在setwindowflag后, 任务栏图标会滑动一下, 某些电脑可能还会略微闪烁
void TestDlg::changeEvent( QEvent* e )
{orm

if( e->type() == QEvent::WindowStateChange)
{
if(this->windowState() & Qt::WindowMinimized )
{
//do something after minimize
}
else
{
setWindowFlags(Qt::Window);//set normal window flag
setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//and return to your old flagsblog

this->showNormal();

}
}
}
Qt 真是各类坑呐get

 

补充: 该方法对qmainwindow无效, 在Qt5.1 qmainwindow 依然存在此问题qt

https://blog.csdn.net/haluoluo211/article/details/46930187it

 

我用的 QT5.7 也遇到楼主同样的问题。如今用3楼的办法,还真有效。特来感谢3楼!bug

https://bbs.csdn.net/topics/391955966

相关文章
相关标签/搜索