使用Qt::FramelessWindowHint把界面设置成无边框后,再自定义标题栏后,使用Qt::WindowMinimized使界面最小化后;再把界面恢复成正常后,发现界面不能刷新;鼠标悬停在控件上,控件的背景颜色不会发生变化;
解决办法如下:
重写showEvent()函数
void CMainWin::showEvent(QShowEvent *event)
{
this->setAttribute(Qt::WA_Mapped);
QWidget::showEvent(event);
}
Qt::WA_Mapped的解释是
Indicates that the widget is mapped on screen. This is set/cleared by the Qt kernel.
就是告诉系统界面已经显示出来了;