класс Toplevel1: def cancel_login (self): msg = tk.messagebox.askyesno (title = "Страница входа", message = "Вы уверены, что хотите отменить вход"), если msg: exit ()
def login(self):
name = self.txtUser.get()
passwd = self.txtPasswd.get()
if name and passwd:
if name == "Samuel" and passwd == "Password191":
tk.messagebox.showinfo("Login Page", "Congratulations, Login was successful")
else:
tk.messagebox.showerror("Login Page", "Incorrect username or password")
self.txtUser.select_clear and self.txtPasswd.select_clear()
def speak(text):
engine = pyttsx3.init()
engine.setProperty('rate', 150)
engine.setProperty('volume', 1.0)
engine.setProperty('voice', "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0")
engine.say(text)
engine.runAndWait()
def get_audio(self):
r = sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
audio = r.listen(source, 2)
global said
said = ""
try:
said = r.recognize_google(audio)
# said = r.recognize_sphinx(audio)
print(said)
except Exception as e:
print("Exception: " + str(e))
def __init__(self, top=None):
'''This class configures and populates the toplevel window.
top is the toplevel containing window.'''
_bgcolor = '#d9d9d9' # X11 color: 'gray85'
_fgcolor = '#000000' # X11 color: 'black'
_compcolor = '#d9d9d9' # X11 color: 'gray85'
_ana1color = '#d9d9d9' # X11 color: 'gray85'
_ana2color = '#ececec' # Closest X11 color: 'gray92'
top.geometry("504x240+385+176")
top.minsize(120, 1)
top.maxsize(1268, 765)
top.resizable(1, 1)
top.title("Login Page")
top.configure(background="#d9d9d9")
self.Label1 = tk.Label(top)
self.Label1.place(relx=0.139, rely=0.208, height=24, width=79)
self.Label1.configure(background="#d9d9d9")
self.Label1.configure(disabledforeground="#a3a3a3")
self.Label1.configure(foreground="#000000")
self.Label1.configure(text='''Username:''')
self.Label2 = tk.Label(top)
self.Label2.place(relx=0.119, rely=0.375, height=24, width=104)
self.Label2.configure(background="#d9d9d9")
self.Label2.configure(disabledforeground="#a3a3a3")
self.Label2.configure(foreground="#000000")
self.Label2.configure(text='''Password:''')
self.txtUser = tk.Entry(top)
self.txtUser.place(relx=0.337, rely=0.208, height=20, relwidth=0.603)
self.txtUser.configure(background="white")
self.txtUser.configure(disabledforeground="#a3a3a3")
self.txtUser.configure(font="TkFixedFont")
self.txtUser.configure(foreground="#000000")
self.txtUser.configure(insertbackground="black")
self.txtPasswd = tk.Entry(top)
self.txtPasswd.place(relx=0.337, rely=0.375, height=20, relwidth=0.603)
self.txtPasswd.configure(background="white")
self.txtPasswd.configure(disabledforeground="#a3a3a3")
self.txtPasswd.configure(font="TkFixedFont")
self.txtPasswd.configure(foreground="#000000")
self.txtPasswd.configure(insertbackground="black")
self.btn_cancel = tk.Button(top)
self.btn_cancel.place(relx=0.337, rely=0.583, height=24, width=47)
self.btn_cancel.configure(activebackground="#ececec")
self.btn_cancel.configure(activeforeground="#000000")
self.btn_cancel.configure(background="#d9d9d9")
self.btn_cancel.configure(disabledforeground="#a3a3a3")
self.btn_cancel.configure(foreground="#000000")
self.btn_cancel.configure(highlightbackground="#d9d9d9")
self.btn_cancel.configure(highlightcolor="black")
self.btn_cancel.configure(pady="0")
self.btn_cancel.configure(text='''Cancel''')
self.btn_cancel.configure(command=self.cancel_login)
self.btn_login = tk.Button(top)
self.btn_login.place(relx=0.556, rely=0.583, height=24, width=41)
self.btn_login.configure(activebackground="#ececec")
self.btn_login.configure(activeforeground="#000000")
self.btn_login.configure(background="#d9d9d9")
self.btn_login.configure(disabledforeground="#a3a3a3")
self.btn_login.configure(foreground="#000000")
self.btn_login.configure(highlightbackground="#d9d9d9")
self.btn_login.configure(highlightcolor="black")
self.btn_login.configure(pady="0")
self.btn_login.configure(text='''Login''')
self.btn_login.configure(command=self.get_audio)
if name == ' main ': vp_start_ gui ()
Не беспокойтесь о том, почему я вызываю функцию из кнопка входа в систему, но главная проблема в том, что я не могу найти работающий способ сохранить «сказанное», возвращенное из функции get_audio (), и сохранить его как text = «возвращенное сказанное слово»
Любая помощь или рекомендации будет глубоко оценен. Я застрял с этой проблемой в течение нескольких дней, просто не могу найти выход. Я пытался сделать указанную глобальную переменную, но она не передавала ее значение, когда я вызывал ее вне функции