当前位置: 代码迷 >> QT开发 >> setWindowFlags(Qt:FramelessWindowHint) 的使用有关问题
  详细解决方案

setWindowFlags(Qt:FramelessWindowHint) 的使用有关问题

热度:106   发布时间:2016-04-25 03:52:33.0
setWindowFlags(Qt::FramelessWindowHint) 的使用问题
本帖最后由 lujingbiao 于 2013-05-07 11:31:37 编辑
我要实现的功能是在主窗口下单击按钮弹出一个子窗口。子窗口要去掉标题栏。
在网上查找了一些资料,去掉qt标题栏使用setWindowFlags(Qt::FramelessWindowHint)。使用这个函数确实可以去掉标题栏,但是去掉标题栏的子窗口自动变成透明显示模式,如图1所示。怎么让去掉标题栏的子窗口取消透明显示模式????
主窗口


点击按钮,子窗口的构造函数中使用setWindowFlags(Qt::FramelessWindowHint)的效果。 子窗口是透明显示模式


点击按钮,子窗口没有使用setWindowFlags(Qt::FramelessWindowHint)的效果。


------解决方案--------------------
不要传this指针给子窗口。
dialog dlg(this);
dlg.exec();
改为
dialog dlg;
dlg.exec();