Sfondo
Ho iniziato a essere coinvolto in un progetto scritto in python e wxPython (per la GUI). Il mio compito è eseguire il debug e aggiungere alcune funzionalità alla GUI.
I widget sono organizzati principalmente con sizers e l'applicazione nel suo complesso ha un bell'aspetto a una certa dimensione e risoluzione dello schermo.
La prima cosa che ho fatto è stato raggruppare alcuni elementi in alcuni pannelli e separarli con splitter ( wx.SplitterWindow
). Ma la gerarchia dei widget è cambiata; in una riga di codice dovevo passare da:
class CustomGrid(wx.grid.Grid):
def __init__(self, parent, name, config):
# ...
self.data = self.GetParent().data
a:
class CustomGrid(wx.grid.Grid):
def __init__(self, parent, name, config):
# ...
self.data = self.GetParent().GetParent().GetParent().data
È brutto. In un'altra istanza una classe di widget viene inserita in due posti diversi e data non si trova allo stesso livello genitore .
Domande
Sospetto che ci sia qualcosa di sbagliato nell'architettura qui. Come / devo separare i dati dalla GUI?
Qualunque suggerimento e / o link a blog o altre domande sarebbe bello per iniziare. Inoltre come esprimere meglio la mia domanda? (Non vedo l'ora di imparare il gergo adatto e forse modificare il titolo!)