0
如何從另一個類調用變量,我得到了兩個類,一個獨立於另一個類,但是如果第一個類中發生了什麼,我需要在gui類中實現標籤(self.lbl)並更改這是價值。從另一個類中調用self.variable
class MyCalendar(wx.Frame):
def __init__(self, *args, **kargs):
wx.Frame.__init__(self, *args, **kargs)
self.cal = CalendarCtrl(self, 10, wx.DateTime.Now(),style= CAL_MONDAY_FIRST)
self.cal.Bind(wx.adv.EVT_CALENDAR, self.OnDate)
def OnDate(self,event):
if dateStatus:
global beginDate
tmp = datetime.datetime.strptime(str(self.cal.GetDate()), '%a %b %d %X %Y').strftime('%Y-%m-%d')
beginDate = datetime.datetime.strptime(tmp, '%Y-%m-%d').date()
#DataList.renewlabels()
else:
global endDate
tmp = datetime.datetime.strptime(str(self.cal.GetDate()), '%a %b %d %X %Y').strftime('%Y-%m-%d')
endDate = datetime.datetime.strptime(tmp, '%Y-%m-%d').date()
#DataList.renewlabels()
wx.Window.Close(self)
class DataList(wx.Frame,):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(830, 440))
self.Maximize(True)
panel = wx.Panel(self, -1)
uber_sizer = wx.BoxSizer(wx.VERTICAL)
top_sizer = wx.BoxSizer(wx.HORIZONTAL)
right_sizer = wx.BoxSizer(wx.VERTICAL)
#Labels
self.beginlbl = wx.StaticText(panel ,-1,style = wx.ALIGN_CENTER)
font = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
self.beginlbl.SetLabel(str(beginDate))
self.beginlbl.SetFont(font)
self.endlbl = wx.StaticText(panel ,-1,style = wx.ALIGN_CENTER)
self.endlbl.SetLabel(str(endDate))
self.endlbl.SetFont(font)
callCalendar()
def callCalendar():
app = wx.App()
frame = MyCalendar(None)
frame.Show()
app.MainLoop()
app = wx.App()
dl = DataList(None, -1, 'Radar Report')
dl.Show()
app.MainLoop()
這是一點點的代碼,以瞭解我有什麼。
編輯: 我錯過了一個方法DataList控件類,你可以看到我把它稱爲MyCakendar.Ondate
def renewlabels(self)
self.beginlbl.SetLabel(str(beginDate))
請給更多的信息:什麼類需要觸發對方的標籤?你有什麼嘗試?什麼是預期的輸出 ? –
我已盡力修復您的縮進。在將來發布Python代碼時,請謹慎地重新制作縮進。 – khelwood