проблема: когда я связываю свой объект DatePicker с функцией, он прекрасно работает внутри этой функции, но когда я пытаюсь добавить то же значение в список в другой функции, он делает 1 или 2 вещи, ошибка говорит:
[<bound method F_Main.date_Begin of <guiwm.F_Main object at 0x08D01490>>, (15, 48, 55)]
, что, как я знаю, означает буквально вызов функции, поэтому я должен просто добавить скобку "()" в конце вызова функции, но когда я ее добавлю, я получаю следующую ошибку
date_Begin() missing 1 required positional argument: 'event'
ниже - мой код вместе с привязками событий
self.dateBegin.Bind( wx.adv.EVT_DATE_CHANGED, self.date_Begin )
def date_Begin( self, event ):
aStringDate = self.dateBegin.GetValue().Format("%m-%d-%y")
print(aStringDate)
return aStringDate
event.Skip()
def time_Begin(self):
aStringTime = self.timeBegin.GetTime()
print(aStringTime)
return aStringTime
, и здесь я вызываю другую функцию
def clickBtn_Generate( self, event ):
a = self.date_Begin()
b = self.time_Begin()
list = []
list.append(a)
list.append(b)
print(list)
return list
event.Skip()
Я пытался удалить и оставить скобки на
a = self.date_Begin
но ни один из них не работает.Есть идеи, как обойти это?
class F_Main ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Generator", pos = wx.DefaultPosition, size = wx.Size( 800,800 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
self.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
self.SetBackgroundColour( wx.Colour( 255, 255, 0 ) )
bSizer5 = wx.BoxSizer( wx.HORIZONTAL )
self.lbl_WS1 = wx.StaticText( self, wx.ID_ANY, u"Wafer Sort 1", wx.DefaultPosition, wx.DefaultSize, 0 )
self.lbl_WS1.Wrap( -1 )
self.lbl_WS1.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_ACTIVECAPTION ) )
bSizer5.Add( self.lbl_WS1, 0, wx.ALL, 10 )
self.dateBegin = wx.adv.DatePickerCtrl( self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DROPDOWN )
bSizer5.Add( self.dateBegin, 0, wx.ALL, 5 )
self.timeBegin = wx.adv.TimePickerCtrl( self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DEFAULT )
bSizer5.Add( self.timeBegin, 0, wx.ALL, 5 )
self.dateEnd = wx.adv.DatePickerCtrl( self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DROPDOWN )
bSizer5.Add( self.dateEnd, 0, wx.ALL, 5 )
self.timeEnd = wx.adv.TimePickerCtrl( self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DEFAULT )
bSizer5.Add( self.timeEnd, 0, wx.ALL, 5 )
self.btnGenerate = wx.Button( self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer5.Add( self.btnGenerate, 0, wx.ALL, 5 )
self.SetSizer( bSizer5 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.dateBegin.Bind( wx.adv.EVT_DATE_CHANGED, self.date_Begin )
#self.timeBegin.Bind(wx.adv.EVT_TIME_CHANGED, self.time_Begin)
self.dateEnd.Bind( wx.adv.EVT_DATE_CHANGED, self.date_End )
self.timeEnd.Bind(wx.adv.EVT_TIME_CHANGED, self.time_End)
self.btnGenerate.Bind( wx.EVT_BUTTON, self.clickBtn_Generate )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def date_Begin( self, event ):
aStringDate = self.dateBegin.GetValue().Format("%m-%d-%y")
print(aStringDate)
return aStringDate
event.Skip()
def time_Begin(self):
aStringTime = self.timeBegin.GetTime()
print(aStringTime)
return aStringTime
def date_End( self, event ):
aStringDate = event.GetDate()
event.Skip()
def time_End(self, event):
aStringTime = event.GetDate()
print(aStringTime)
def clickBtn_Generate( self, event ):
a = self.date_Begin()
b = self.time_Begin()
list = []
list.append(a)
list.append(b)
print(list)
return list
event.Skip()