【发布时间】:2020-04-12 03:58:31
【问题描述】:
我正在尝试调出 Tkinter GUI 并同时使用线程和异步运行不和谐机器人。我的代码如下:
def screen():
global msg_entry, channel_entry
main_window = tk.Tk()
main_window.geometry('720x540+50+50')
main_window.title('Control')
main_window.configure(bg=col1)
main_window.resizable(0,0)
msg_box = tk.Entry()
msg_entry = tk.Entry(main_window, font = 'Helvetica 20',
width = 10, bg = col4, fg = 'white')
msg_entry.place(x=100, y=240)
channel_entry = tk.Entry(main_window, font = 'Helvetica 20',
width = 10, bg = col4, fg = 'white')
channel_entry.place(x=350, y=240)
submit = HoverButton(main_window, bd=0, highlightthickness=0, font = 'Helvetica 25 bold', text = "Send",
width = 7, height = 1, bg = col4, fg = col2, justify = 'left'
,command = lambda: asyncio.get_event_loop().run_until_complete(send()), activebackground = col5)
submit.place(x= 220, y = 320)
main_window.mainloop()
# 614001879831150605
async def send():
ce = channel_entry.get()
channel = client.get_channel(int(ce))
await channel.send(msg_entry)
def func1():
client.loop.create_task(update_meme())
client.run(token)
if __name__ == '__main__':
Thread(target = func1).start()
Thread(target = screen).start()
运行代码时出现以下错误:
RuntimeError: There is no current event loop in thread 'Thread-7'.
我是线程和异步的新手,因此非常感谢任何帮助。
【问题讨论】:
标签: python multithreading tkinter discord.py