Tkinter python代码不起作用

时间:2015-08-26 16:02:43

标签: python python-2.7 tkinter

这是我的代码: 它给了我一个错误,即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)

1 个答案:

答案 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

作为旁注,我建议使用更多描述性变量/函数名称。