wxpython实现透明无边框面板
网上找了很多例子都不可行,最后根据官方例子改的,需要通过wxApp来调用设置透明度才生效import wx# !/usr/bin/env python# coding:utf-8from wx import *class Frame(wx.Frame):def __init__(self, *args, **kwargs):super(Frame, self).__init__(*args, **
·
网上找了很多例子都不可行,最后根据官方例子改的,需要通过wxApp来调用设置透明度才生效
import wx
# !/usr/bin/env python
# coding:utf-8
from wx import *
class Frame(wx.Frame):
def __init__(self, *args, **kwargs):
super(Frame, self).__init__(*args, **kwargs, style=wx.NO_BORDER | wx.STAY_ON_TOP)
# 初始化窗口UI
self.init_ui()
def init_ui(self):
panel = wx.Panel(self, id=-1, pos=(0, 0), size=(10, 500), style=wx.NO_BORDER)
# 键盘按下事件
panel.Bind(wx.EVT_KEY_DOWN, self.key_down)
self.SetSize(1000, 500)
self.Centre()
self.Show(True)
def key_down(self, e):
print(e)
key_code = e.GetKeyCode()
if key_code == wx.WXK_ESCAPE:
self.Close() # 关闭窗口
else:
print("按了%s键" % key_code)
class Test(wx.App):
def OnInit(self):
self.frame = Frame(parent=None, title='Spare')
self.frame.SetTransparent(100)
return True
if __name__ == '__main__':
app = Test()
app.MainLoop()
更多推荐
已为社区贡献1条内容
所有评论(0)