자, 저는 정말 파이썬 (프로그래밍 자체)에 익숙하지 않아서 내 무지를 유감스럽게 생각합니다.하지만 정말 물어볼 필요가있었습니다. 그래서 저는 wxPython 프로젝트에서 노트북 (탭의 각 탭 = 클래스)을위한 탭을 몇 개 추가하고 탭 (예 : Tab1)을 호출 할 수있는 체크 박스를 추가 한 탭 하나가 있습니다. 나는 누군가가 그것을 검사 할 때, 다른 탭 (예를 들어 tab2라고 불리는 클래스)에 존재하는 버튼이 이전에 보여지고 있던 곳에 숨겨지기를 원한다.Python의 클래스와 관련된 문제
글쎄,이게 어렵지는 않지만 내 문제는 클래스 (이 예제에서는 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")
문제를 이해하는 것이 정말 어렵습니다. 정교하게 주시겠습니까? 수업에서 겪고있는 문제는 무엇입니까? 코드 샘플 또한 유용 할 수 있습니다. – jathanism
코드로 편집 됨 – dpswt