Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:python:wxpython_gui:wxpython_koennyeden

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
oktatas:programozas:python:wxpython_gui:wxpython_koennyeden [2020/08/11 20:57] – [InitUI létrehozása] adminoktatas:programozas:python:wxpython_gui:wxpython_koennyeden [2021/03/15 10:56] (aktuális) admin
Sor 1: Sor 1:
-[[oktatas:programozás:python:wxpython_gui|< wxPython]]+[[oktatas:programozás:python:wxpython_gui|< wxPython GUI]]
  
 ====== wxPython könnyedén ====== ====== wxPython könnyedén ======
Sor 203: Sor 203:
 app.MainLoop() app.MainLoop()
  
 +</code>
 +
 +
 +===== Szétválasztás =====
 +
 +<code python App.py>
 +import wx
 +
 +from views.MainFrame import MainFrame
 +from controllers.Controller import Controller
 +
 +class App(wx.App):
 +    def OnInit(self):
 +        frame = MainFrame(None)
 +        frame.Show()
 +        Controller(frame)
 +        return True
 +
 +app = App()
 +app.MainLoop()
 +</code>
 +
 +
 +<code python views/MainFrame.py>
 +
 +import wx
 +
 +class MainFrame(wx.Frame):
 +    def __init__(self, parent):
 +        super(MainFrame, self).__init__(parent)
 +        self.InitUI()
 +        self.InitLayout()
 +
 +    def InitUI(self):
 +        self.button1 = wx.Button(self, label='vmi')
 +        self.entry = wx.TextCtrl(self)
 +
 +    def InitLayout(self):
 +        self.sizer1 = wx.BoxSizer(wx.VERTICAL)
 +        self.sizer1.Add(self.button1)
 +        self.sizer1.Add(self.entry)
 +        self.SetSizer(self.sizer1)
 +</code>
 +
 +
 +<code python controllers/Controller.py>
 +import wx
 +from views.MainFrame import MainFrame
 +
 +class Controller:
 +    def __init__(self, mainFrame: MainFrame):
 +        self.mainFrame = mainFrame
 +        self.mainFrame.Bind(wx.EVT_BUTTON, self.onClickGomb1, self.mainFrame.button1)
 +
 +    def onClickGomb1(self, event):
 +        numStr = self.mainFrame.entry.GetValue()
 +        product = int(numStr) * 2
 +        self.mainFrame.entry.SetValue(str(product))
 </code> </code>
  
oktatas/programozas/python/wxpython_gui/wxpython_koennyeden.1597172245.txt.gz · Utolsó módosítás: 2020/08/11 20:57 szerkesztette: admin