【问题标题】:How to call text from a function and print it on Tkinter GUI?如何从函数调用文本并在 Tkinter GUI 上打印?
【发布时间】:2019-04-22 11:02:47
【问题描述】:

我有一个场景,当按下按钮时,我需要获取一些文本并在 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 内打印。

谁能帮我解决这个问题?

【问题讨论】:

    标签: python python-3.x matplotlib tkinter tkinter-canvas


    【解决方案1】:

    在函数中使用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()
    

    【讨论】:

    • 我收到以下错误:SyntaxError: positional argument follows keyword argument
    • 它可能来自我运行代码的其他东西,这对我来说很好。
    • @Vivek 我的错你是对的,我现在修复了它希望它有效。
    猜你喜欢
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2018-06-10
    • 2019-01-27
    • 2017-08-03
    • 1970-01-01
    相关资源
    最近更新 更多