Печать ввода текстового поля на консоль с помощью tkinter (python3.7) - PullRequest
0 голосов
/ 28 ноября 2018

Я делаю крестики-нолики на python, используя tkinter, и код работает все, кроме того, что когда я пытаюсь напечатать, какой игрок является победителем, я получаю следующий вывод:

The player who won is:  
.!entry

Код Iдля распечатки победителя используется следующее:

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

, где e1_entry определяется следующим образом:

e1_entry = e1.get()

, а e1:

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

Какя сделал бы так, чтобы текст, взятый из tkinter Entry, был напечатан на консоли?

Спасибо

Gaurav Bhalla

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Вот рабочий пример.Вам нужно определить функцию для получения строки

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'.Если в виджете «Ввод» нет текста, победитель не будет.

Надеюсь, это поможет!

0 голосов
/ 28 ноября 2018

Вы должны попробовать что-то вроде:

window = Tk()
text = StringVar()
e1 = Entry(window, textvariable = text)
e1.pack()
e1_entry = text.get()
print("The player who won is:", e1_entry)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...