我想按开始按钮将“ Hello”存储在其他功能可以使用的变量中。然后,我想按“打印”按钮进行打印。
import tkinter
FONT = "Arial 16 bold"
window = tkinter.Tk()
B = tkinter.StringVar()
def main() :
window.title("print")
window.configure(bg="white")
startButton = tkinter.Button(window, bg="white", font=FONT, text="START", command=myList)
startButton.grid(row=0, column=0)
printButton = tkinter.Button(window, bg="white", font=FONT, text="Print", command=printList)
printButton.grid(row=0, column=1)
tkinter.mainloop()
def myList():
A = "Hello"
global B
B.set(A)
def printList():
value = B.get()
printLabel = tkinter.Label(window, bg="white", font=FONT, textvariable=value)
printLabel.grid(row=1, column=1)
main()
我不知道如何以其他函数可以使用的方式存储变量。
答案 0 :(得分:0)
问题是这两行代码:
value = B.get()
printLabel = tkinter.Label(window, bg="white", font=FONT, textvariable=value)
您正在将textvariable
选项的值设置为普通的python变量。那行不通,它必须是特殊的tkinter变量之一。
如果您要做的只是在B
中显示值,那么除了设置textvariable
之外,无需执行其他任何操作。您无需调用B.get()
或将B
声明为全局变量:
def printList():
printLabel = tkinter.Label(window, bg="white", font=FONT, textvariable=B)
printLabel.grid(row=1, column=1)
如果您不希望以这种方式链接它们,则可以获取B
的值并将其分配给text
属性而不是textvariable
属性:< / p>
def printList():
value = B.get()
printLabel = tkinter.Label(window, bg="white", font=FONT, text=value)
printLabel.grid(row=1, column=1)