1
我的主要wxPython應用程序wx.Frame目前充滿了按鈕和文本字段以及主應用程序顯示區域。所有事件處理程序和UI代碼都包含在將命令傳遞給Control類的MainFrame類中。如何將wxPython控件移動到另一個框架
我想將這些控件中的一些從MainFrame移動到可以隱藏的新的SecondaryFrame。我創建了一個SecondaryFrame的實例,然後使用一個菜單項來顯示和隱藏它。
我似乎有兩個選擇執行:
- 所有控制的移動創建和處理程序代碼到SecondaryFrame類。
- 創建一個空白SecondaryFrame並從大型機中留下全部到位的處理程序,使主機的控制成員,而不是SecondaryFrame
- 兩個
是的組合來填充它看起來像所有的這些這些選項需要對代碼進行重要的重構。我錯過了一個更明顯的方式將已經有功能的控件移動到新的框架中嗎?
該項目主要是MVC。我確實有一個控制器類,但是我試圖保持GUI不可知。所有的事件處理程序和GUI相關的控制代碼都在MainFrame類中。 – Mike
處理程序與控件不同的類中的問題是,某些處理程序需要訪問控件本身,例如在文本控件和複選框的情況下。我沒有看到一種乾淨的方式讓一個類中的處理程序從另一個類中的控件中獲取數據。它可以工作,但它感覺馬虎。 – Mike
我不知道你想在幀之間傳遞數據。就我個人而言,我使用pubsub。它使得類之間的傳遞數據非常容易。 –