我想打开.py文件 - 我发现了 - 而不是从打开的文件运行新框架。这是文件MenuWindow中的代码:
def OnNewGame(self,event):
play = False
nameofplr = wx.GetTextFromUser('Enter your name:', 'NEW GAME')
subor=open("Save/savegame.txt","a")
subor.write( "\n" + nameofplr)
subor.close()
savegame=open("Save/" + nameofplr + ".prjct", "w+")
savegame.close()
play = True
if (play == True):
sys.path.insert(0, './bin')
import game
new = GameFrame(parent=None, id=-1)
new.Show()
self.Close()
这是来自game.py的代码:
print "game.py opened"
导入wx
类GameFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self, parent, id, "Project", size=(860, 640))
wx.Frame.CenterOnScreen(self)
输出打印game.py打开所以它打开文件,但为什么它不创建新框架?
这是输出:
game.py打开了 追溯(最近的呼叫最后):
OnNewGame中的文件“D:\ Python \ Python Projects \ Project \ MenuWindow.py”,第48行 new = GameFrame(parent = None,id = -1)
NameError:未定义全局名称“GameFrame”
答案 0 :(得分:0)
您导入游戏,GameFrame是游戏的一部分,因此您应该输入
new = game.GameFrame(parent=None, id=-1)
答案 1 :(得分:0)
我在互联网上搜索了大约2或3个小时并且没有任何效果,然后我在这里写问题并尝试修改我自己的代码并修复它!所以,如果有人会遇到同样的问题,那就是def OnNewGame的代码:
def OnNewGame(self,event):
play = False
nameofplr = wx.GetTextFromUser('Enter your name:', 'NEW GAME')
subor=open("Save/savegame.txt","a")
subor.write( "\n" + nameofplr)
subor.close()
savegame=open("Save/" + nameofplr + ".prjct", "w+")
savegame.close()
play = True
if (play == True):
sys.path.insert(0, './bin')
from game import GameFrame
new = GameFrame(parent=None, id=-1)
new.Show()
self.Close()
这就是它的全部工作!!!