0
我正在处理一个自定义样式的QMessageBox。在方法擦亮我的自定义将QStyle类()我称之为:如何刷新QWidget绘画缓存?
if((pDialog = qobject_cast<QDialog*>(pWidget)) != NULL)
{
pDialog->setWindowFlags(pDialog->windowFlags() | Qt::FramelessWindowHint);
// Allow QStyle draw widget background
pDialog->setAttribute(Qt::WA_StyledBackground, true);
// Set window background transparent
QPalette oPalette = pDialog->palette();
oPalette.setBrush(QPalette::Window, QBrush(Qt::transparent));
pDialog->setPalette(oPalette);
}
这工作得很好,除非我们使用了半透明边框:半透明的部分变得越来越暗每重绘(例如,当按下“显示详情“/”隐藏详情“多次)。
更新:我刚刚意识到,移动消息框时,“太暗半透明内容”也会移动。因此,我想刷新QWidget绘画缓存 - 如果这样的东西存在(后备存储??)。