我有这个代码:
import wx
class Plugin(wx.Panel):
def __init__(self, parent, *args, **kwargs):
panel = wx.Panel.__init__(self, parent, *args, **kwargs)
self.colorOver = ((89,89,89))
self.colorLeave = ((110,110,110))
self.colorFont = ((131,131,131))
self.SetBackgroundColour(self.colorLeave)
self.SetForegroundColour(self.colorLeave)
self.name = "Plugin"
self.overPanel = 0
self.overLabel = 0
sizer = wx.BoxSizer(wx.VERTICAL)
name = wx.StaticText(self, -1, ' ' + self.getName())
close = wx.StaticText(self, -1, ' X ')
gs = wx.GridSizer(2, 2, 0, 0)
gs.AddMany([(name, 0, wx.ALIGN_LEFT), (close, 0, wx.ALIGN_RIGHT)])
sizer.Add(gs, 1, wx.EXPAND)
self.SetSizer(sizer)
.... ....
是否可以左键单击StaticText关闭并隐藏面板本身?
解决方法:
我不知道是否可以将wx.EVT_LEFT_DOWN绑定到StaticText小部件.您可以使用按钮调用self.Hide().如果你想要自定义外观,可能是BitmapButton.
class myPanel(wx.Panel):
def __init__(self, parent, *args, **kwargs):
wx.Panel.__init__(self, parent, *args, **kwargs)
bitmap = wx.EmptyBitmap(15,15)
self.button = wx.BitmapButton(self, -1, bitmap=bitmap, size=(15,15), style=wx.NO_BORDER)
self.Bind(wx.EVT_BUTTON, self.onClick, self.button)
def onClick(self, event):
self.Hide()
标签:python,wxpython
来源: https://codeday.me/bug/20190527/1159459.html