我不能将我的pyame游戏链接到我的tkinter GUI
问题描述:
基本上我为我的游戏创建了一个pygame菜单,当我点击它们时它会加载所有其他pygame窗口,但是对于某些方面,如添加用户等等,我在Tkinter GUI中创建。当我点击将它们加载到我的pygame上时,它不会加载Tkinter GUI,没有人知道我可以如何解决这个问题,或者如果有什么我需要添加来使其工作。我不能将我的pyame游戏链接到我的tkinter GUI
它充当如果要加载的东西,但不,第一个叫“mathsvaders”加载罚款,因为它一个pygame的方案,但高分是Tkinter的并不会加载:
pos = 1
while True:
# events
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif e.type == pygame.KEYDOWN:
if e.key == pygame.K_DOWN:
pos += 1
if pos > 5:
pos = 1
elif e.key == pygame.K_UP:
pos -= 1
if pos < 1:
pos = 5
elif e.key == pygame.K_RETURN:
if pos == 1:
import MathsvadersReal
elif e.key == pygame.K_RETURN:
if pos == 2:
import Highscore
elif pos == 5:
pygame.quit()
sys.exit()
该窗体的代码如下:
import Tkinter import Databaseconnector
class simpleapp_tk(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
def create_widgets(self):
# create welcome label
label1 = Tkinter.Label(self, text = "Hello world")
label1.grid(row = 0, column = 2, columnspan = 4, sticky = 'E')
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('my application')
app.geometry("250x200")
app.mainloop()
答
你的主要代码导入Highscore
模块时要加载的高分,其中有两个问题:
在
Highscore
模块中,__name__
不等于"__main__"
。它等于"Highscore"
。 Bescaue,simpleapp_tk
应用程序永远不会被创建,它的mainloop
方法永远不会被调用。 这可能是您遇到的问题,但它不是此代码的唯一问题。import
声明将结果缓存在sys.modules
中,所以此代码只能使用一次。要重新加载模块,你必须明确地这样做,无论是通过调用reload(Highscore)
或del sys.modules["Highscore"]
只是一个提示,如果你想人民帮助您应该显示的代码示例。 – kyrias 2013-03-02 17:29:44
它的行为就好像它将加载一些东西,但没有,第一个叫做“mathsvaders”的作为pygame程序加载得很好,但高分在tkinter中并且不加载: – 2013-03-03 12:48:57
对不起,它的意思是说pos == 2,但即使如此它也不起作用。 – 2013-03-03 21:29:41