0

私はwxpythonが初めてなので、これに苦労しています。画面に表示されている番号を1つ押すと、たとえば携帯電話のように、テキストコントロール領域に表示されるボタンを押すと、ラベルとこのラベルが付いたボタンを作成したいだけです!

import wx


class example(wx.Frame):

    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,' Title', size = (205,330))
        panel = wx.Panel(self, wx.ID_ANY)
        textctrl = wx.TextCtrl(panel, -1,("0"), pos=(10, 10),size=(170, 60))


        button=wx.Button(panel,label="1",pos=(100,210),size=(30,30))
        self.Bind(wx.EVT_BUTTON, self.OnButton, button)

    def OnButton (self,evt):
        label = evt.GetEventObject().GetLabel()


if __name__=='__main__':
    app=wx.PySimpleApp()
    frame=example(parent=None,id=-1)
    frame.Show()
    app.MainLoop()

ありがとう

4

1 に答える 1

0

コントロールへの参照を保持する必要があります-その後、それらを設定できます:

import wx

class example(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,' Title', size = (205,330))
        panel = wx.Panel(self, wx.ID_ANY)
        self.textctrl = wx.TextCtrl(panel, -1,(""), pos=(10, 10),size=(170, 60))
        self.button=wx.Button(panel,label="1",pos=(100,210),size=(30,30))
        self.Bind(wx.EVT_BUTTON, self.OnButton, self.button)
    def OnButton (self,evt):
        label = evt.GetEventObject().GetLabel()
        #self.textctrl.SetValue(label)
        self.textctrl.AppendText(label)


if __name__=='__main__':
    app=wx.PySimpleApp()
    frame=example(parent=None,id=-1)
    frame.Show()
    app.MainLoop()
于 2013-08-08T07:04:16.943 に答える