首页 > 解决方案 > 如何从函数调用文本并在 Tkinter GUI 上打印?

问题描述

我有一个场景,当按下按钮时,我需要获取一些文本并在 Tkinter GUI 画布中打印它。

函数内部的代码如下所示:

def plot_best_batsmen():
    print("The best Batsman of the Tournament could possibly be: ",
          dataset.loc[dataset.loc[dataset['Innings']>=15,'Average'].idxmax(),'Names'])

按钮的代码如下:

b5 = Button(root, text="Best Batsmen", command=plot_best_batsmen, bg="#34495E", fg="white").pack(side = LEFT)

我的预期结果是在单击按钮时在 Tkinter GUI 上打印播放器的名称以及图像。但是当我在 Anaconda 上运行代码时,它会在控制台上打印名称,而不是在 GUI 内打印。

谁能帮我解决这个问题?

标签: pythonpython-3.xmatplotlibtkintertkinter-canvas

解决方案


canvas.create(x,y, text=' ' anchor='nw)在函数中使用。Label()也可以使用。

我假设您Canvas已经在函数之前定义了

这是一个例子。

from tkinter import *

root = Tk()

canvas = Canvas(root)
canvas.pack()

def plot_best_batsmen():
    text = "The best Batsman of the Tournament could possibly be: ", dataset.loc[dataset.loc[dataset['Innings']>=15,'Average'].idxmax(),'Names']
    canvas.create_text(1, 1, text=text, anchor='nw')

b5 = Button(root, text="Best Batsmen", command=plot_best_batsmen, bg="#34495E", fg="white")
b5.pack(side = LEFT)

mainloop()

推荐阅读