2
코드의 메인 라인에서 호출 할 프레임 클래스의 sizer에 패널 클래스를 추가하고 싶습니다.wxpython 패널 클래스를 사이 저에 추가
오류는 TypeError: wx.Window, wx.Sizer, wx.Size, or (w,h) expected for item
입니다. 이것은 이것이 패널 클래스이고 패널 클래스의 인스턴스가 아니라는 사실과 관련이 있다고 가정합니다.
어느 쪽이든, 어떻게 그런 짓을할까요?
코드는 다음과 같습니다 :
#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx
class step_1(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, id=wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
txtOne = wx.TextCtrl(self, wx.ID_ANY, "")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(txtOne, 0, wx.ALL, 5)
self.SetSizer(sizer)
class step_2(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, id=wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
txtOne = wx.TextCtrl(self, wx.ID_ANY, "")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(txtOne, 0, wx.ALL, 5)
self.SetSizer(sizer)
class main_frame(wx.Frame):
"""Main Frame holding the main panel."""
def __init__(self,*args,**kwargs):
wx.Frame.__init__(self,*args,**kwargs)
p = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(step_1,0,border = 5)
sizer.Add(step_2,0,border = 5)
p.SetSizerAndFit(sizer)
self.Show()
if __name__ == "__main__":
app = wx.App(False)
frame = main_frame(None,-1,size = (400,300))
app.MainLoop()
어긋나 기 쉽습니다. 감사! 나는 그걸 알아야한다고 생각합니다 .... –