2016-07-08 8 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 модуль

import menu 

затем с помощью

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() 

, чтобы вернуться в главное меню (TopMenu) в menu.py модуле.