Хорошо, ребята, я действительно новичок в python (и в программировании), так что извините за мое невежество, но мне действительно нужно было спросить это.
Так что я делаю проект wxPython, где я добавил несколько вкладок для записной книжки (каждая вкладка записной книжки = класс), и есть одна вкладка, где я добавил флажок (во вкладке, давайте назовем его, например, Tab1), и что я хочу, чтобы, когда кто-то проверял это, кнопка, существующая в другой вкладке (класс, называемый, например, tab2), скрывалась там, где ранее она отображалась.
Что ж, я вижу, что это не сложно, но моя проблема в классах (в этом примере tab1 и tab2). Я пытался выяснить это с помощью поиска, но я думаю, что я не ищу достаточно сложно, потому что я просто не могу понять это правильно. Если бы они были в одном классе, у меня не было бы проблемы, но, поскольку они в разных классах, у меня огромная борьба с этим.
Надеюсь, кто-нибудь может мне помочь, и еще раз извините за мое невежество.
РЕДАКТИРОВАТЬ: Извините, ребята не показывались / скрывались, а были включены / отключены.
class Tab2(wx.Panel):
def __init__(self, parent):
.....
self.jaddbutton = wx.Button(self,-1, label ="Button", size = (160,24))
self.jaddbutton.Bind(wx.EVT_BUTTON, self.jaddbuttonclick, self.jaddbutton)
def jaddbuttonclick(self, event):
....
class Tab1(wx.Panel):
def __init__(self, parent):
self.jdcheck = wx.CheckBox(self, -1, 'Disable')
self.jdcheck.Bind(wx.EVT_CHECKBOX, self.checkoptions, self.jdcheck)
def checkoptions(self,event):
checkboxval = self.jdcheck.GetValue()
if checkboxval == False:
self.jaddbutton.Disable() # This is what I want to do but it is on the other class
else:
self.jaddbutton.Enable() # Same as above
class TextFrame(wx.Frame):
def __init__(self):
p = wx.Panel(self)
self.nb = wx.Notebook(p, size = (750, 332))
#Tabs
tab1 = Tab1(self.nb)
tab2 = Tab2(self.nb)
self.nb.AddPage(tab1, "ssomething")
self.nb.AddPage(tab2, "somethingr")