簡體   English   中英

我在tkinter的python中有錯誤並且需要幫助(學校項目)

[英]I have an error in python with tkinter and need help(school project)

我必須在python中為學校創建一個小小的文本冒險。 為了檢測鍵盤輸入,我決定使用tkinter並禁用該窗口。 一切工作正常,但是如果我嘗試在按下某個鍵后使用變量進行計算,則會收到以下錯誤... 這是錯誤消息

這是我正在使用的腳本(我對python沒有太多經驗...)

import os 
import sys 
import tkinter 


menueeintraege = ["Start", "Steuerung", "Credits", "Beenden"]
index = 0


def menueaufbauen():
    os.system("cls")
    print("Menue")
    print("")
    print("")
    for i in range(4):    
        if i == index:
            print(menueeintraege[i] + "<")
        else:
            print(menueeintraege[i])

menueaufbauen()


def startgame():
    os.system("game.py");

def steuerung():
    os.system("cls")
    print("Steuerung")
    print("")
    print("Norden = Pfeiltaste Hoch")
    print("Sueden = Pfeiltaste Runter")
    print("Osten = Pfeiltaste Rechts")
    print("Westen = Pfeiltaste Links")
    print("Bestaetigen = Enter")

def credits():
    os.system("cls")
    print("Credits")
    print("")
    print("Jannik Nickel")
    print("Thomas Kraus")
    print("")

def exitgame():
    sys.exit()


def menueauswahl(taste):
    print(taste)
    if taste == "Up":
        if index > 0:
            index -= 1
            print(index)

    elif taste == "Down":
        if index < 3:
            index += 1

    menueaufbau()


def tasteneingabe(event):
    tastenname = event.keysym
    menueauswahl(tastenname)

fenster = tkinter.Tk()
fenster.bind_all('<Key>', tasteneingabe)
fenster.withdraw()
fenster.mainloop()

我認為錯誤必須出在腳本的最后一部分,我希望這里的人知道解決方案,因為這對學校真的很重要。

感謝您的幫助(我正在使用Visual Studio 2015)

好吧,我發現了幾個錯誤。 首先是您要引用函數內部的全局變量 (索引)。 為此,您需要告訴python您正在使用全局變量。

def menueauswahl(taste):
    global index
    print(taste)

另外,您還需要將第61行的函數名稱更改為menuaufbau en ()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM