gpt4 book ai didi

qt - 如果鼠标在小部件窗口外部单击,则关闭小部件窗口

转载 作者:行者123 更新时间:2023-12-03 07:11:28 25 4
gpt4 key购买 nike

这是一个先有鸡还是先有蛋的问题。我希望当鼠标点击外部时关闭我的小部件窗口。据我了解,我的小部件不会发生在其外部发生的单击事件。有一个 SetFocus 插槽,但它的对应项或焦点丢失在哪里?我的类(class)没有调用“focusOutEvent”。

我的小部件窗口是始终显示在我的主窗口上的小部件的子窗口,它是一个“Qt::ToolTip”,所以我认为这个事实可能会引起一些问题。有办法解决吗?

我的目标:我有一个自定义工具栏小部件,其中的按钮可能有“下拉”小部件。这些下拉小部件没有标准的窗口框架。我不希望它们从主窗口“窃取”标题焦点,并且我希望它们在用户单击其区域之外的屏幕上的任何位置时立即消失。我很难找到一种不妥协 Qt 的策略来完成这项工作。

我错过了什么吗? (我打赌我是)。

最佳答案

我用过:

setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);

这似乎在 OSX 和 Windows 上运行良好。我的窗口显示正确,没有从我的主窗口标题中窃取焦点,并且一旦我在窗口外部单击,就会正确调用焦点丢失事件。

关于qt - 如果鼠标在小部件窗口外部单击,则关闭小部件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7421699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com