1
for 루프를 사용하여 여러 스피너를 만드는 데 아래 코드를 사용했습니다.wxPython : 동적으로 생성 된 회 전자를 이벤트에 바인딩
이제는 스피너 값을 올바른 변수에 넣을 수 있도록 수정 된 스피너를 알 수 있도록 이벤트를 바인딩하는 방법을 알아낼 수 없습니다.
어떤 스피너가 핸들러를 호출하는지 알 수 있다면 올바른 변수에 매핑 할 수 있습니다.
의견이 있으십니까? 이것은 가능한가?
미리 감사드립니다.
import wx
class spinnerFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent,id, "Spinner Frame", size = (300,200))
#constants
spnr_sz = (50,-1)
names = ('name1','name2','name3','name4','name5','name6')
sizer = wx.GridBagSizer(5, 5)
# TEXT FONT EXAMPLE
# m_text = wx.StaticText(panel, -1, "Hello World!")
# m_text.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD))
# m_text.SetSize(m_text.GetBestSize())
#temp
sizer = wx.GridBagSizer(5, 5)
row = 0
for n in names:
row += 1
my_label = wx.StaticText(self, -1, n)
spinner = wx.SpinCtrl(self, -1, size = spnr_sz, min = 0, initial = 10)
self.Bind(wx.EVT_SPINCTRL, self.OnCompute, spinner)
sizer.Add(my_label, (row,0))
sizer.Add(spinner, (row,1))
sizer.AddGrowableRow(7)
sizer.AddGrowableCol(4)
self.SetSizerAndFit(sizer)
self.Centre()
def OnCompute(self,event):
# a = spinner.GetValue()
# ????
if __name__=='__main__':
app = wx.App(True) # was False
frame = wx.Frame(None)
frame = spinnerFrame (parent=None, id = -1)
frame.Show()
app.MainLoop()
좋아요! 이것은 내가하려고하는 것에 효과적입니다. 고마워요! – user1998752