首页 > 解决方案 > Python - 打印到 GUI 而不是终端

问题描述

在这里对 Python 非常陌生,我正在尝试创建一个返回随机配方的 GUI 应用程序。目前打印发生在终端上,我希望它改为在 GUI 中打印。

from tkinter import *
import os
import random



root = tk.Tk()

def printRecipes():
    recipes = [
        "Tom Yum Soup",

        "Carnitas",

        "General Tso's Chicken"
    ]
    print(random.choice(recipes))


canvas = tk.Canvas(root, height=600, width=700, bg="#A8D1BB")
canvas.pack()

magic = tk.Button(root, text="Print", padx=10, pady=5, fg="white", bg="black", command=printRecipes)
magic.pack()

root.mainloop()

正如你们大多数人已经知道的那样,这不起作用。我读过我需要为其使用标签或文本,但是我发现的示例都涉及静态打印语句,例如

label = Label(root,text="Recipe")
    label.pack

标签: pythonpython-3.xtkinter

解决方案


要将值“打印”到 GUI 窗口,请Label使用 a。.config()是一个有用的功能。它用于配置提供的小部件。

下面magic.pack(),添加此代码。注意没有text参数。我们稍后会使用它。

label1=Label(root,pady=10,font=("arial",15))
label1.pack()

接下来,在您拥有 的函数中print(random.choice(recipes)),我们将添加:

label1.config(text=random.choice(recipes))

请注意,我们使用.config()了 和text参数。我们配置了标签,并在其中添加了一些文本。


推荐阅读