gpt4 book ai didi

python - 改变python tkinter中变量的值

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:08 25 4
gpt4 key购买 nike

我刚刚开始使用 python tkinter,但无法获得更改日期时间中日期的按钮。到目前为止,我有按钮更改值变量 b、c 和 d,但它不会更改日期。感谢您的帮助。

from tkinter import *
import datetime
window = Tk()
b = int(1999)
c = int(2)
d = int(2)
today = datetime.date.today()
def changeVariable():
global b, c, d
b = int(1914)
print("changed b")
c = int(7)
print("changed c")
d = int(28)
print("changed d")

def printVariable():
global a
print(a.days)

dog = datetime.date(b, c, d)
a = today - dog
button1 = Button(window, command = changeVariable)
button1.pack()
button2 = Button(window, command = printVariable)
button2.pack()

最佳答案

您的函数 changeVariable 确实更改变量 bcd.只是在此之前计算了a。 Python 以及大多数编程语言的工作方式是,当您说 x = y 时,除非特殊情况,并不意味着:

x is equal to y at all times. (pass by reference)

而是:

put y's this very instant value to x (pass by value)

所以你应该这样写:

dog = datetime.date(b, c, d)
a = today - dog

在您的 printVariable 中,以便 a 的值也会更新。

您的最终 printVariable 应类似于:

def printVariable():
global a
dog = datetime.date(b, c, d)
a = today - dog
print(a.days)

关于python - 改变python tkinter中变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47481618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com