大型项目肯定是有多种弹窗类型,无论是dialog还是原始的widget。我们在需要的时候显示,然后在进行他的其他任何操作的时候(就是点弹窗外的其他区域)将他关闭,这里有两种方法。
一. popup
设置窗口属性 setWindowFlags(Qt::Popup);
目前这个我自己测过 挺稳定 就是坐标会变成全局坐标 show的时候注意下就行,隐藏就随便点其他地方都会隐藏。
二.窗口激活属性
WindowDeactivate
没测试过。
1。项目菜单项的合理方案
做软件可能会遇到各种点击菜单,当切到其他地方菜单小时,本质就是使用WindowDeactivate来设置。在窗口中不要忘了设置 this->setWindowFlags(Qt::SubWindow |Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);来隐藏任务栏。