首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果将不透明度设置为零,wxpython的SetTransparent不会捕获用户输入

如果将不透明度设置为零,wxpython的SetTransparent不会捕获用户输入
EN

Stack Overflow用户
提问于 2011-07-13 04:12:44
回答 1查看 456关注 0票数 3

我正在尝试创建一个wxpython窗口(只在某种意义上是一个窗口对象)。它充满了整个屏幕,完全看不见。然后我想让用户点击并拖动在“窗口”(即。屏幕上的任何位置)。

当我尝试执行self.SetTransparent(0)时,窗口不会捕获用户输入。

这是有意为之吗?

这是实现我想要的东西的正确方法吗?1的不透明显然是人眼无法分辨的,但我仍然很好奇为什么我不能让它完全透明。

下面是代码片段:

代码语言:javascript
复制
import wx

class Frame(wx.Frame):
    def __init__(self):
        style = (wx.STAY_ON_TOP | wx.NO_BORDER)
        wx.Frame.__init__(self, None, title="Invisible", style=style)

        self.SetTransparent(0) # This doesn't work
        #self.SetTransparent(1) # But this works fine

        self.Bind(wx.EVT_KEY_UP, self.OnKeyPress)

    def OnKeyPress(self, event):
        """quit if user press q or Esc"""
        if event.GetKeyCode() == 27 or event.GetKeyCode() == ord('Q'): #27 is Esc
            self.Close(force=True)
        else:
            event.Skip()

app = wx.App()
frm = Frame()
frm.ShowFullScreen(True)
app.MainLoop()

或者,有没有一种方法可以让窗口完全没有背景,而不是完全透明的彩色背景?

EN

回答 1

Stack Overflow用户

发布于 2011-07-13 04:36:55

您可以覆盖EVT_ERASE_BACKGROUND以实现相同的效果。

我还清理了代码的其他方面。

在XP和7上的表现略有不同,但对于你所描述的应用类型来说可能不是问题。

代码语言:javascript
复制
import wx

class Frame(wx.Frame):
    def __init__(self):
        super(Frame, self).__init__(None)
        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
        self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
        self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
    def OnEraseBackground(self, event):
        pass # do nothing
    def OnLeftDown(self, event):
        print event.GetPosition()
    def OnKeyDown(self, event):
        if event.GetKeyCode() == wx.WXK_ESCAPE:
            self.Close()
        else:
            event.Skip()

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = Frame()
    frame.ShowFullScreen(True)
    app.MainLoop()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6670483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档