Python 如何自动更新tkinter中输入的变量?

Python 如何自动更新tkinter中输入的变量?,python,tkinter,arduino,Python,Tkinter,Arduino,你好 我的程序有问题。 我的程序是一个基于时间的开关灯时间表,基本上需要每秒钟更新一次。但是,每当我在“设置时间”按钮中设置时间表时,当我单击它时,它已设置,但它不会保持更新,您必须再次单击“设置时间”以更新您输入的时间。我的目标是设置一个基于时间的时间表,每当我点击一次,它就会根据时间自动更新,直到它根据实时到达 我的PythonTkinter/ARDUINO代码: from tkinter import * import datetime import time import time as

你好

我的程序有问题。 我的程序是一个基于时间的开关灯时间表,基本上需要每秒钟更新一次。但是,每当我在“设置时间”按钮中设置时间表时,当我单击它时,它已设置,但它不会保持更新,您必须再次单击“设置时间”以更新您输入的时间。我的目标是设置一个基于时间的时间表,每当我点击一次,它就会根据时间自动更新,直到它根据实时到达

我的PythonTkinter/ARDUINO代码:

from tkinter import *
import datetime
import time
import time as tm
import random
import os
import sys
from tkinter.ttk import Combobox
import time as tm
import serial
from serial import Serial
import tkinter
ser1 = serial.Serial('COM6', 9600)


def led_off():
    ser1.write(b'0')


def led_on():
    ser1.write(b'1')


window = Tk()
window.geometry("800x400")
window.title("Automated Light Integrated System")


def save_info():
    onhour_info = onHour.get()
    onmin_info = onMin.get()
    offhour_info = offHour.get()
    offmin_info = offMin.get()
    x = datetime.datetime.now()

    print("Congratulations! You just set an Starting Time of", onhour_info, ":", onmin_info)
    print("Congratulations! You just set an Ending Time of", offhour_info, ":", offmin_info)

    if onhour_info == x.strftime('%H') and onmin_info == x.strftime('%M'):
        led_on()

    elif offhour_info == x.strftime('%H') and offmin_info == x.strftime('%M'):
        led_off()


label1 = Label(window, text="Welcome User!", font=("arial", 24, "bold"), relief="solid").place(x=300, y=10)


def clock():
    time_string = time.strftime("%H:%M:%S")
    label2.config(text=time_string)
    label2.after(1000, clock)


label2 = Label(window, font=("arial", 10), relief="solid")
label2.place(x=700, y=10)

clock()

label3 = Label(window, text="Please Indicate your Starting Time", font=("arial", 12)).place(x=30, y=90)
onHour = StringVar()
label4 = Label(window, text="Hour(s) ", font=("arial", 10)).place(x=10, y=120)
hour_entry = Entry(textvariable=onHour, width="5").place(x=60, y=121)

onMin = StringVar()
label5 = Label(window, text="Minute(s) ", font=("arial", 10)).place(x=90, y=120)
min_entry = Entry(textvariable=onMin, width="5").place(x=150, y=120)

register1 = Button(window, text="Set Time", width="20", height="2", command=save_info).place(x=300, y=120)

label6 = Label(window, text="Please Indicate your Ending Time: ", font=("arial", 12)).place(x=500, y=90)
offHour = StringVar()
label7 = Label(window, text="Hour(s) ", font=("arial", 10)).place(x=500, y=120)
hour_entry = Entry(textvariable=offHour, width="5").place(x=550, y=121)

offMin = StringVar()
label8 = Label(window, text="Minute(s) ", font=("arial", 10)).place(x=570, y=120)
min_entry = Entry(textvariable=offMin, width="5").place(x=630, y=120)


window.mainloop()
实际照片:

错误是我目前遇到的最起码的问题。
谢谢你的热情回应

为了澄清一下,您希望它不需要“设置时间”按钮,而是在输入框中输入值时自动更新值?通读这篇文章,我想这就是您想要的。再次感谢您的回复!所以基本上我必须删除我的按钮?那么,当我在输入框中输入一个变量时,它会自动相应地设置一个时间吗?我会阅读你发送的链接