我正在尝试为不和谐的bot创建gui(使用Tkinter),但是问题是当我单击“启动bot”按钮时,该bot实际上启动了,但是整个程序崩溃了。我该怎么解决?
from tkinter import *
from discord.ext import commands
client = commands.Bot(command_prefix='.')
window = Tk()
window.title("Bot")
window.geometry('350x200')
def clicked():
@client.event
async def on_ready():
print("ready")
client.run('')
btn = Button(window,text='Start bot', command=clicked)
btn.grid(column=1,row=1)
window.mainloop()
答案 0 :(得分:0)
您应该看一下Threads,因为它可以让您独立运行Discord和Tkinter窗口。这是必需的,因为client.run()处于阻塞状态,因此在运行该函数时,它将不会在您的代码中执行任何后续操作,因此将不会运行Tkinter主循环以允许GUI更新。
答案 1 :(得分:0)
您遇到与我相同的问题!
打na后(我已经一个星期没睡了),我发现您需要关闭window.destroy()
窗口并用所有按钮重新打开
window = Tk()
btn.pack()