QT在辅助窗口外单击以关闭辅助窗口

By in 365足球网站官网 on 2019年10月20日

找到各种在线方法,1。

添加一个过滤器(eventFilter)2。

重新输入鼠标单击事件。两种方法都需要确定鼠标单击位置是否在辅助窗口中。

同样,对于下拉框和文本编辑框之类的可编辑控件,主窗口直接传递到可编辑控件,并且经过过滤和重写的鼠标事件无法获得单击事件。

booleventFilter(QObject *观察,事件QEvent *); //过滤器

voidmousePressEvent(QMouseEvent * ev); //鼠标事件

实际上,最简单,最有效的方法是设置窗口指示器。

setWindowFlags(Qt:FramelessWindowHint | Qt:popup);

Qt:弹出窗口指示此窗口是顶层模式窗口。就像菜单效果一样,在子窗口外部单击也会自动将其隐藏。


Comments are closed.