【问题标题】:Printing textbox input to console with tkinter (python3.7)使用 tkinter (python3.7) 将文本框输入打印到控制台
【发布时间】:2018-11-28 16:54:13
【问题描述】:

我正在使用 tkinter 在 python 中制作井字游戏,除了当我尝试打印哪个玩家是赢家时,代码都可以正常工作,我得到以下输出:

The player who won is:  
.!entry

我用来打印获胜者的代码是这样的:

        print("The player who won is: ", e1_entry)
        ...

e1_entry 定义如下:

e1_entry = e1.get()

而 e1 是:

e1 = tkinter.Entry(window, textvariable=e1_entry)

我将如何使从 tkinter Entry 获取的文本打印到控制台?

谢谢

高拉夫·巴拉

【问题讨论】:

  • 你指的是哪个控制台?
  • @PedroLobito 我的意思是当你调用 print() 函数时打印到的控制台

标签: python python-3.x tkinter printing


【解决方案1】:

这是一个工作示例。您需要定义一个函数来获取字符串

import tkinter


def getWinner():
    n = entry1.get()

    if n == "":
        n = "Nobody won"

    print(n)

root = tkinter.Tk()

entry1 = tkinter.Entry(root)
entry1.grid(row = 0, column = 0)

root.after(10000, getWinner)

root.mainloop()

这有一个 Entry 小部件,10 秒后,将调用函数“getWinner”。如果 Entry 小部件中没有文本,则不会有赢家。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您应该尝试以下方法:

    window = Tk()
    text = StringVar()
    e1 = Entry(window, textvariable = text)
    e1.pack()
    e1_entry = text.get()
    print("The player who won is:", e1_entry)
    

    【讨论】:

    • 有问题。它会立即打印代码的最后一行,而不是等待用户输入。因此,这是行不通的。
    • @SanguineL 没关系,因为我已将该行放入检查获胜者的函数中。
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多