Je me demande comment on pourrait obtenir une variable d'une page à l'autre à partir d'un cahier wx. Je pense qu'il devrait y avoir un moyen de référencer une variable si je connais le nom de la variable et l'identifiant de la page. Par exemple, si je devais le code suivant, comment pourrais-je faire référence à la variable x du panneau y et vice versaComment puis-je obtenir des variables d'une page de cahier wx à une autre page de cahier wx?
import wx
class PanelX(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
x = 3
class PanelY(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
y=4
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Main Frame", size = (500,450))
p = wx.Panel(self)
nb = wx.Notebook(p)
nb.AddPage(PanelX(nb), "Panel X")
nb.AddPage(PanelY(nb), "Panel Y")
sizer = wx.BoxSizer()
sizer.Add(nb, 1, wx.EXPAND)
p.SetSizer(sizer)
if __name__ == "__main__":
app = wx.App()
MainFrame().Show()
app.MainLoop()
+1 Merci, la fonction GetPage était le lien manquant. Merci d'avoir attrapé les variables locales. C'était sur la surveillance. – Richard
pas de problème - je n'étais pas sûr de savoir comment décrire les variables locales par rapport à l'instance, et je suis assez nul à expliquer ces choses :) –
Y at-il une alternative à nb.GetPage qui utilise le nom de la chaîne de la page, ou un autre identifiant en plus d'un entier arbitraire? –