gpt4 book ai didi

user-interface - 是否可以在 wxwidgets 中确定窗口当前是否可见?

转载 作者:行者123 更新时间:2023-12-04 06:51:05 25 4
gpt4 key购买 nike

在我的 wxWidgets (wxPython) 应用程序中,我使用一个 50 毫秒计时器进行一些轮询,并在有任何更改时更新窗口。如果检测到更改,它会调用 wxWindow.Refresh 来更新窗口,而小部件的实际更新是在 EVT_PAINT 处理程序中完成的。如果我可以在用户不看窗口的情况下禁用绘画和/或计时器,那就太好了。然而,即使窗口被图标化或隐藏在不同的窗口后面,EVT_PAINT 仍然会被触发。

有什么方法可以检测窗口当前是否在屏幕上不可见,或者防止 EVT_PAINT 事件不必要地触发?

IsActive 方法和 EVT_ACTIVATE 事件来测试窗口是否有焦点,但如果窗口没有焦点但仍然可见,我想继续更新窗口。 wxWindow.IsShown 函数族没有帮助,它们仍然为隐藏/图标化窗口返回 True。

最佳答案

IsShownOnScreen()可以帮助图标化的案例。 编辑:但实际上没有

或者您可以捕获 wxEVT_ICONIZE 以检测窗口何时最小化。

但老实说,我很惊讶刷新隐藏在另一个窗口后面的窗口仍然会导致重新绘制。如果前面的窗口不是透明的,这真的不应该发生。

关于user-interface - 是否可以在 wxwidgets 中确定窗口当前是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568311/

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