0

それぞれ独自のモジュールに複数のメニューを作成しました。menu.py モジュールはサブメニューをインポートし、サブメニューを表示するインスタンスを作成します。

私の問題は、サブメニューからメインメニュー (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()

私の当初の考えは、メインモジュールを各サブモジュールにインポートし、各サブメニューモジュールで次のことを行うだけでした

車.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) を他のサブメニュー モジュールにインポートできません。あらゆる種類の権限を試しましたが、メイン メニューに戻ることができません。

助けてください?

4

1 に答える 1

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

menu.py モジュールでメイン メニュー (TopMenu) を取得します。

于 2016-07-09T09:17:40.290 に答える