tkinter标签不响应按钮

时间:2018-03-24 05:47:25

标签: python python-3.x tkinter

我正在创建一个小GUI,它将打开其他python代码,但我希望GUI显示一个标签,说明发生了什么。我现在的代码如下。

from tkinter import *
import os
import sys

master = Tk()

def tryout():
    sign.config(master, text = "Hmm") 

sign = Label(master, text = "Sup").grid(row=1, column=1, pady=10, padx=10)
butTest = Button(master, text='test', command=tryout)
butTest.grid(row=4, column=1, pady=10, padx=10)

mainloop( )

当我按下按钮butTest时,我希望标有“Sup”的标签更改为“Hmm”,而是弹出错误。

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1562, in __call__
    return self.func(*args)
  File "/home/pi/Desktop/import.py", line 8, in tryout
    sign.config(master, text = "Hmm")
AttributeError: 'NoneType' object has no attribute 'config'

我必须做出哪些改变?

1 个答案:

答案 0 :(得分:3)

单独声明标签及其网格

Sign = Label()
Sign.grid() 

查看

的类型
Label(). grid ()

它是None,因为grid方法返回none并将其分配给sign。 所以,

 sign = none

没有一个没有名为config的属性。这就是错误发生的原因

同时从master,部分删除def tryout():,否则会出现' _tkinter.TclError:unknown选项'错误。

谢谢,C Vith,用于调试代码(同样删除.....错误)C Vith建议