我正在使用 Pyrogram 和 Tkinter:
from tkinter import *
from pyrogram import Client
root = Tk()
app = Client("my_account")
首先,我使用 Pyrogram 注册一个处理程序:
@app.on_message()
def message(client, message):
print("Message!")
其次,我向 Tkinter 注册了一个处理程序:
def button(event):
print("Button!")
root.bind('<Button>', button)
但是我怎样才能启动 Pyrogram 和 Tkinter 的循环呢?显然以下(或相反)不起作用:
root.mainloop()
app.run()
编辑:由于 Pyrogram 的关键特性之一是它是完全异步的(例如,https: //docs.pyrogram.org/start/updates#registering-a-handler ),我希望得到基于 Asyncio 的答案。然而,这是我尝试在@SylvesterKruin 的评论之后进行线程化。
t = Thread(target=app.run)
t.start()
root.mainloop()
我失败了RuntimeError: There is no current event loop in thread 'Thread-1'
。