2016-07-08 16 views
0

私は独自のモジュールで複数のメニューを構築しました。 menu.pyモジュールはサブメニューをインポートし、サブメニューを表示するインスタンスを作成します。異なるモジュールに異なるwxで作成されたメニュー

私の問題は、サブメニューからメインメニュー(menu.py)に戻ります。 メインメニューコードを強調表示します。 menu.py

from gui import * 
import wx 
from tools import Tools 
from vehicles import VehicleMainMenu 
from ladders import LadderMainMenu 


class TopMenu(MainMenu): 
    def __init__(self, parent): 
     MainMenu.__init__(self, parent) 

    def close_bigbutton_click(self, event): 
     exit(0) 

    def tools_button_click(self, event): 
     self.GetParent() # This assigns parent frame to frame. 
     self.Close() # This then closes frame removing the main menu. 
     frame = Tools(None) 
     frame.Centre() 
     frame.Show() 

    def vehicle_button_click(self, event): 
     self.GetParent() # This assigns parent frame to frame. 
     self.Close() # This then closes frame removing the main menu. 
     frame = VehicleMainMenu(None) 
     frame.Centre() 
     frame.Show() 

    def ladder_button_click(self, event): 
     self.GetParent() # This assigns parent frame to frame. 
     self.Close() # This then closes frame removing the main menu. 
     frame = LadderMainMenu(None) 
     frame.Centre() 
     frame.Show() 

私の独創的な考えは、各サブモジュールにメインモジュールをインポートすることだったし、ちょうど

vehicles.py各サブメニューのモジュールに次の操作を行い

class VehicleMainMenu(VehicleMenu): 
def __init__(self, parent): 
    VehicleMenu.__init__(self, parent) 


    def veiw_vehicle_click(self, event): 
     self.GetParent() # This assigns parent frame to frame. 
     self.Close() # This then closes frame removing the main menu. 
     frame = VehicleListGrid(None) 
     frame.Centre() 
     frame.Show(

    #This was the code to return to the main menu (main.py) 
    def back_click(self, event): 
     self.GetParent() # This assigns parent frame to frame. 
     self.Close() # This then closes frame removing the main menu. 
     frame = TopMenu(None) 
     frame.Centre() 
     frame.Show() 

私はできないのですメニュー(menu.py)を他のサブメニューモジュールにインポートすると、エラーがスローされます。私はあらゆる種類の許可を試しましたが、私はメインメニューを返すことができません。

助けてください?

答えて

0

はmenu.pyモジュールのメインメニュー(トップメニュー)を取り戻すために

def back_click(self, event): 
    self.GetParent() # This assigns parent frame to frame. 
    self.Close() # This then closes frame removing the main menu. 
    frame = menu.TopMenu(None) #never used menu. in previous attempts 
    frame.Centre() 
    frame.Show() 

を使用して、その後

import menu 

サブメニュー・モデルにmenu.pyモジュールをインポートすることによって、問題を修正しました。

関連する問題