gpt4 book ai didi

python - 有没有办法让 tkinter 在打开时立即执行命令?

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:29 24 4
gpt4 key购买 nike

我目前只是在测试一些简单的想法,以锻炼计划的想法为例。我是 python 的新手,所以这更像是一个测试。我想要发生的是打开一个带有锻炼的窗口(只是一个 tkinter 标签),然后在后台被动地运行一个语音识别命令来捕捉说“下一个”的人。我不想让人们告诉我如何使其他位更高效,因为我知道这很糟糕。

我只是想要一个解决方案,使命令 SpeechRecognition1 在显示 "5 pressups" 标签时被动运行。有办法做到这一点吗?

from tkinter import *
import sys
import speech_recognition as sr

def NextWorkout1():
workout1.destroy()
Workout2()

def Workout1():
global workout1

workout1 = Tk()

workout1.geometry("300x44")
workout1.configure(background="lightblue")
workout1.resizable(0,0)
workout1.title("Pressups")

insLabel = Label(workout1, text="5 pressups", fg="red", bg="lightblue", font="Arial 25 bold")
insLabel.pack()

workout1.mainloop()


def Workout2():
global workout2

workout2 = Tk()
workout2.geometry("300x50")
workout2.configure(background="lightblue")
workout2.resizable(0,0)
workout2.title("Starjumps")

insLabel = Label(workout2, text="15 starjumps", fg="red", bg="lightblue", font="Arial 25 bold")
insLabel.pack()

workout2.mainloop()

def SpeechRecognition1():
r = sr.Recognizer()

with sr.Microphone() as source:
audio = r.listen(source)

for i in range(1):
command = (r.recognize_google(audio))

if command == "next":
NextWorkout1()
else:
print("hi")

def SpeechRecognition2():
global WorkoutNumber

WorkoutNumber = 0
r = sr.Recognizer()

with sr.Microphone() as source:
audio = r.listen(source)

for i in range(1):
command = (r.recognize_google(audio))

if command == "next":
NextWorkout2()

else:
print("hi")

Workout1()

最佳答案

将 after_idle 函数与您的函数一起用作回调函数

按照这个顺序

from threading import Thread

workout1 = Tk()

thread = Thread(target = SpeechRecognition1)
workout1.after_idle(thread.start)

workout1.mainloop()

关于python - 有没有办法让 tkinter 在打开时立即执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50337598/

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