Python Tkinter Def change变量

Python Tkinter Def change变量,python,variables,tkinter,Python,Variables,Tkinter,我仍在学习Tkinter,我正在尝试制作一个简单的程序,点击按钮将生成三个随机NUM,但def不会更改var,它会将其打印到控制台,但不会更改var from tkinter import * import random firstNum = 0 secondNum = 0 thirdNum = 0 def PickNewNums(): firstNum = random.randint(1, 100) secondNum = random.randint(1, 100)

我仍在学习Tkinter,我正在尝试制作一个简单的程序,点击按钮将生成三个随机NUM,但def不会更改var,它会将其打印到控制台,但不会更改var

from tkinter import *
import random

firstNum = 0
secondNum = 0
thirdNum = 0

def PickNewNums():
    firstNum = random.randint(1, 100)
    secondNum = random.randint(1, 100)
    thirdNum = random.randint(1, 100)
    print(firstNum)
    return firstNum, secondNum, thirdNum

root = Tk()


mainTitle = Label (root, text = "Amazing Title")
newNumbers = Button(root, text = "Get New Numbers", command=PickNewNums)

firstNumber = Label(root, text = firstNum)
secondNumber = Label(root, text = secondNum)
thirdNumber = Label(root, text = thirdNum)

mainTitle.pack()
firstNumber.pack()
secondNumber.pack()
thirdNumber.pack()
newNumbers.pack(side = BOTTOM)
root.geometry("600x300")
root.mainloop()

谢谢你们的帮助,伙计们

我更喜欢在课堂上包装东西

可以将Tkinter变量与标签相关联。变量内容更改时,标签将自动更新:

v = StringVar()
Label(root, textvariable=v).pack()
要更新,请执行以下操作:

v.set("Hest!")

简而言之:您正在创建新的局部变量,而不是修改全局变量。您还将
返回
使他们无处可去。使用
firstNumber.config(text=firstNum)
而不是
return
。谢谢,我将尝试一下