0

これは私のコードです。

 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))

前もって感謝します!

4

1 に答える 1

1

ボタンの名前を取得するには、GetName()メソッドを使用するだけです。ボタンの名前は、コンストラクター(wx.BitmapButton(self,..., name = someName))で設定するか、ボタンの作成後にメソッドを使用できますSetName()。あなたのコードでvalueは、はあなたのボタンの新しい名前のようですので、それを設定するか、を取得した後にボタンを作成する必要がありますvalue

于 2013-03-10T11:09:54.780 に答える