我正在做练习,并且正在学习如何使用 Tkinter。
我设法让我的代码工作,但我无法找到让它按照我想要的方式工作的方法。
我希望打印该笑话,然后将其附加到消息框中,而不是将其显示在终端中。
有什么指点吗? 在类似的问题中找不到答案。
我尝试使用消息框中的变量,但它只是打开一个空框。
import pyjokes
from tkinter import ttk
from tkinter import messagebox
def get_funny():
joke1 = print(pyjokes.get_joke())
messagebox.showinfo()
root = tk.Tk()
title = root.title("Free Jokes")
window_width = 300
window_height = 200
#get screen dimensions
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
#find the center point
center_x = int(screen_width/2 - window_width / 2)
center_y = int(screen_height/2 - window_height / 2)
root.geometry(f"{window_width}x{window_height}+{center_x}+{center_y}")
#root.resizable(False,False) make the window a fixed size
message = tk.Label(root, text="Fun Box 3000")
message.pack()
#Button
funny_button = ttk.Button(
root,
text="Click for funny",
command=get_funny
)
funny_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()```
您应该将其传递给
showinfo
:
def get_funny():
joke = pyjokes.get_joke()
messagebox.showinfo("Joke", joke)