我想创建一个有3-4个框架(或窗口)的应用程序,每个框架都附加/定位到屏幕的一侧(如任务栏)。当框架处于非活动状态时,我希望它自动隐藏(就像Windows任务栏一样;或者OSX中的dock )。当我将鼠标指针移动到屏幕边缘隐藏框架的位置时,我希望它重新成为焦点。
这个应用程序是用Python语言编写的(使用wxPython作为基本的图形用户界面方面)。有人知道如何在Python中做到这一点吗?我猜它可能是依赖于操作系统的?如果是这样的话,我想先关注一下Windows。
我不经常做GUI编程,所以如果这没有任何意义的话,我很抱歉。
发布于 2010-02-16 06:16:50
据我所知,这里面没有内置的东西。
当窗口被隐藏时,您是希望它完全不可见,还是可以显示几个像素的边框?这将是获取鼠标悬停事件的一种简单方法。否则,您可能必须使用诸如pyHook之类的工具来获取系统范围的鼠标事件,以了解何时展开窗口。
在这里,事件EVT_ENTER_WINDOW和EVT_LEAVE_WINDOW可能也很有用,可以知道用户何时进入/离开窗口,以便您可以展开/折叠窗口。
展开/折叠可以通过显示/隐藏窗口或调整它们的大小来完成。标准的窗口函数,没什么花哨的。
顺便说一句,您可能希望使用wx.ClientDisplayRect来确定窗口的位置。这将为您提供一个矩形桌面,其中不包括任务栏或用户拥有的任何其他工具栏,假设您希望避免与这些内容重叠。
发布于 2012-01-30 23:34:47
就我个人而言,我会将FogleBird提到的EVT_ENTER_WINDOW和EVT_LEAVE_WINDOW与wx.Timer结合起来。然后,只要框架或对话框在x秒内处于非活动状态,您就可以调用它的Hide()方法。
发布于 2017-07-05 10:17:06
我认为你可以很容易地创建一个与桌面大小相同的窗口,然后根据鼠标位置对一个不活动变量进行循环,然后为4个不活动变量执行一个计时器循环。我会亲自设计它,当它们从15变为0时,它们会改变大小和位置,变成表格,并在它们上面创建一个按钮来重新激活。这方面有很多技术工作,但如果你弄清楚了,很容易就能完成。
https://stackoverflow.com/questions/2268315
复制相似问题