我想检查位图按钮是否存在以及是否存在,然后销毁它,如果它不存在,则创建它。这是代码:
try:
shutdownbtn
except NameError:
sbex = False
else:
sbex = True
if sbex:
self.shutdownbtn.Destroy()
print "Destroyed"
if not sbex:
self.shutdownbtn = wx.Bitmap("bin/Images/wstdwn.png")
self.wstdwnbtn = wx.StaticBitmap(self, -1, self.shutdownbtn)
self.wstdwnbtn.SetPosition((0, 550))
self.wstdwnbtn.Bind(wx.EVT_LEFT_DOWN, self.wexit)
self.wstdwnbtn.SetToolTip(wx.ToolTip("Exit to main menu."))
它会创建位图按钮,但不会删除它!为什么?我真的不知道。
答案 0 :(得分:1)
这是因为您使用shutdownbtn
而不是self.shutdownbtn
。您还必须抓住AttributeError
,而不是NameError
。
答案 1 :(得分:0)
你的意思是这样的:
try:
self.shutdown_showing
except AttributeError:
self.shutdown_showing = False
else:
self.shutdown_showing = True
if self.shutdown_showing:
self.shutdownbtn.Destroy()
print "Destroyed"
if not self.shutdown_showing:
self.shutdownbtn = wx.Bitmap("bin/Images/wstdwn.png")
self.wstdwnbtn = wx.StaticBitmap(self, -1, self.shutdownbtn)
self.wstdwnbtn.SetPosition((0, 550))
self.wstdwnbtn.Bind(wx.EVT_LEFT_DOWN, self.wexit)
self.wstdwnbtn.SetToolTip(wx.ToolTip("Exit to main menu."))
因为它仍然相同......