【问题标题】:TkInter: transport variable between two buttonsTkInter:两个按钮之间的传输变量
【发布时间】:2021-08-02 19:23:26
【问题描述】:

有人可以告诉我是否可以在 tkinter 内的两个按钮之间传输变量!?例如:我想测量按下两个按钮之间的时间并将其打印到标签上......

from tkinter import *
import time

start_time = 0.0

...
def press_start():
    start_time = time.time()

def press_end():
    estimated_time = time.time() - start_time
    lbl_time.config(text=f"Estimated time: {estimated_time }")

...
btn_start = Button(text="Start", command=press_start)
btn_end = Button(text="Start", command=press_end)
lbl_time = Label()
...

【问题讨论】:

  • global start_time 添加到press_start 的开头。

标签: python tkinter time scope


【解决方案1】:

press_start 函数只修改函数范围内的start_time。函数的start_time 外部 仍然引用0.0

def press_start():
    start_time = time.time() 
    print(start_time) # would still output time.time()
print(start_time) # outputs 0.0

像这样使用global 关键字:

def press_start():
    global start_time
    start_time = time.time()
print(start_time) # outputs time.time() now

我建议阅读的相关主题是referencesvariable scopes

【讨论】:

  • 一切都很好,你可以添加一些链接到你提到的主题,以便人们更容易找到它们,因为你已经提到了要查找的内容,所以没有必要,但是主题为链接将是蛋糕上的樱桃
猜你喜欢
  • 2018-09-24
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
相关资源
最近更新 更多