Форум сайта python.su
Объясните пожалуйста. Когда создаю оконное приложение. Создаю класс
class window(wx.Frame):
методы….
Зачем я определяю wx.Panel? И если я создаю к примеру wx.staticText в не это класса, как мне сделать так чтобы он отобразился.
Офлайн
Отдельный класс wx.Panel создается для того, чтобы в нем расположить виджеты, например, кнопки, текст и т.п. и не смешивать с кодом wx.Frame + повторное использование этого класса в других приложениях.
Небольшой пример без использования wx.Panel
class Frame(wx.Frame): def __init__(self, *args, **kwargs): kwargs['size'] = (300, 100) super(Frame, self).__init__(*args, **kwargs) button = wx.Button(self, wx.ID_ANY, "Python calc") button_del = wx.Button(self, wx.ID_ANY, "Clear") self.label = wx.StaticText(self, wx.ID_ANY, "0") box = wx.BoxSizer(wx.VERTICAL) b_box = wx.BoxSizer() b_box.Add(button, 0) b_box.Add(button_del, 0) box.Add(b_box, 0) box.Add(self.label, 0) self.SetSizer(box) self.Bind(wx.EVT_BUTTON, self.OnPress, button) self.Bind(wx.EVT_BUTTON, self.OnClear, button_del) def OnPress(self, event): for i in xrange(101): sum += i self.label.SetLabel(str(sum)) def OnClear(self, event): self.label.SetLabel('0')
Отредактировано Evgen_irk (Авг. 25, 2013 04:39:57)
Офлайн