这是我的代码: 它给了我一个错误,即b在分配之前使用。
from Tkinter import *
mConsole=Tk()
words=StringVar()
b='_ I _ _ U _'
def c():
if b=='_ I _ _ U _':
b='C I _ C U _'
words.set(b)
words.set(b)
word=Label(textvariable=words, font='Jokerman 20').grid(row=1,column=3 ,columnspan=4)
答案 0 :(得分:0)
您需要使用globalize
命令global
变量。在任何函数声明之后,全局化您打算使用的任何变量。
在这种情况下,您只需添加:
global b
位于函数顶部,您的代码应该可以运行。
from Tkinter import *
mConsole=Tk()
words=StringVar()
b='_ I _ _ U _'
def c():
global b
if b=='_ I _ _ U _':
b='C I _ C U _'
words.set(b)
words.set(b)
word=Label(textvariable=words, font='Jokerman 20').grid(row=1,column=3 ,columnspan=4)
此资源可能有所帮助:http://www.python-course.eu/global_vs_local_variables.php
作为旁注,我建议使用更多描述性变量/函数名称。