这是我的代码。
self.bid += 1
name = "ct %d" % self.bid
self.newct = wx.BitmapButton(self, -1, pic, pos = pos, size=(33,33), style = wx.NO_BORDER, name = name)
dbox=wx.TextEntryDialog(None, "Enter the Value", 'Button Info', "")
if dbox.ShowModal()==wx.ID_OK:
value=dbox.GetValue()
btdict = {'button id': self.bid, 'value': value}
self.newct.SetToolTip(wx.ToolTip('ID: %d, Value: %d' %(self.bid, value)))
如何在之后检索名称?
我正在使用一种工具,需要创建动态数量的位图按钮,这些按钮可以在面板周围拖动。当我有多个按钮时,很难区分彼此,所以我希望在显示按钮名称的每个按钮上添加一个工具提示。
此外我收到错误“TypeError:%d format:需要一个数字,而不是unicode”这里
self.newct.SetToolTip(wx.ToolTip('ID: %d, Value: %d' %(self.bid, value))
提前致谢!
答案 0 :(得分:1)
要获取按钮的名称,只需使用GetName()
方法即可。可以在构造函数(wx.BitmapButton(self,..., name = someName)
)中设置按钮的名称,也可以在创建按钮后使用SetName()
方法。在您的代码中,value
似乎是您按钮的新名称,因此您应该在获取value
后设置它或创建按钮。