本文介绍了如何在加载Tkinter窗口后让TTS(Pyttsx3)说话的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我正在做一个项目,其中有许多按钮和窗口使用Tkinter,我实现了使用pyttsx3模块的TTS。请考虑以下示例:
import pyttsx3
from Tkinter import *
#configure text-to-speech
engine = pyttsx3.init()
def speak(text):
engine.setProperty("rate", 150)
engine.say(text)
engine.runAndWait()
root = Tk()
def submit():
top = Toplevel(root)
hello_world = Label(top, text = "Hello World")
hello_world.pack()
speak("Hello World")
click_me = Button(root, text = "Click Me", command = submit)
click_me.pack()
root.mainloop()
当单击该按钮时,将首先运行tts命令,窗口将冻结,直到pyttsx3完成说话,然后只加载窗口。当有很多文本要说时,这个问题会变得更糟。我想要的是tts命令应该在窗口加载之后执行。我应该如何操作?
推荐答案
我遇到了完全相同的问题,我尝试了所有方法,包括线程但这种方法Root.After(2000,发言)肯定会奏效的。该数字以毫秒为单位。
这篇关于如何在加载Tkinter窗口后让TTS(Pyttsx3)说话的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!