单击按钮时从函数返回文本 Python Tkinter

问题描述 投票:0回答:1

我正在做练习,并且正在学习如何使用 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()```
python tkinter button
1个回答
0
投票

您应该将其传递给

showinfo

def get_funny():
    joke = pyjokes.get_joke()
    messagebox.showinfo("Joke", joke) 
© www.soinside.com 2019 - 2024. All rights reserved.