【发布时间】:2023-03-15 08:51:01
【问题描述】:
我有一个生成多个 QWidget 弹出窗口的 QMainWindow 应用程序。如果用户单击主 QMainWindow,我想知道如何销毁弹出的 QWidgets。我不确定如何继续解决此问题。我不想干扰任何 QMainWindow 事件,我只想通过在弹出窗口小部件区域之外的任何鼠标单击来破坏额外的弹出窗口。通过信号槽机制或事件过滤器是否可能或推荐?不处理(x,y)坐标可以吗?
感谢您的建议。
【问题讨论】:
-
这些小部件是否仍应提供鼠标交互? minimal, reproducible example 会有所帮助,尤其是了解这些小部件是如何创建的以及它们的窗口标志(如果设置了的话)。
-
@musicamante 不,窗户应该被完全摧毁。我将尝试解开并发布一个示例。弹出窗口是无框的,并停留在顶部窗口上。
标签: python pyqt5 qwidget qmainwindow