问题描述
使用Qt做了一个无边框界面,关闭后再打开,子控件的点击以及hover效果不可用。
c
setWindowFlags(windowFlags() | Qt::Dialog | Qt::FramelessWindowHint);//去掉标题栏
解决方案:
在网上发现可以通过重写showEvent(QShowEvent* showEvent)函数,在里面调用setAttribute(Qt::WA_Mapped);可以解决问题记录一下。
cpp
void Class::showEvent(QShowEvent* showEvent)
{
setAttribute(Qt::WA_Mapped);
QDialog::showEvent(showEvent);
}