Ошибка: RuntimeError: main thread is not in main loop
from tkinter import *
import keyboard
tk=Tk()
uincs=StringVar()
nameo=Entry(tk,textvariable=uincs)
nameo.grid(column=0,row=0)
def save():
nameusing=uincs.get()
print(nameusing)
keyboard.add_hotkey('ctrl+S',save)
tk.mainloop()
С чем может быть связана эта ошибка? Пробовал сделать через tk.after().
Ответы (3 шт):
Автор решения: Чипполино
→ Ссылка
Ошибка возникает из-за неправильного форматирования и отсутствия пробелов и переносов строк в коде.
Писать код надо так:
from tkinter import *
import keyboard
tk = Tk()
uincs = StringVar()
nameo = Entry(tk, textvariable=uincs)
nameo.grid(column=0, row=0)
def save():
nameusing = uincs.get()
print(nameusing)
keyboard.add_hotkey('ctrl+S', save)
tk.mainloop()
Автор решения: Stanislav Volodarskiy
→ Ссылка
Не надо использовать keyboard, все нужные средства уже есть в самом tk:
from tkinter import *
def save(event):
print(event)
nameusing = uincs.get()
print(nameusing)
tk = Tk()
uincs = StringVar()
nameo = Entry(tk, textvariable=uincs)
nameo.grid(column=0, row=0)
tk.bind('<Control-KeyPress-s>', save)
tk.mainloop()