Существует ли функция Tkinter (Python 3.7), которая направляет вывод текста в созданное окно, а не в командную строку? - PullRequest
0 голосов
/ 07 февраля 2019

Я изучаю Tkinter, чтобы я мог настроить графический интерфейс для личного проекта.При этом я не могу понять, как отобразить текстовые результаты в созданном окне, а не в командной строке.

Я попытался прочитать функцию Text (), но многие результатыэто подошло не очень хорошо объяснено.Я использую Python 3.7 в Windows 10.

from tkinter import *
root = Tk()

def printName():
    print('My name is Sam')

button = Button(root, text='Print my name', command=printName)
button.grid()

root.mainloop()

После нажатия кнопки я хочу, чтобы выходные данные функции printName отображались в созданном окне, а не в командной строке.Фактический вывод программы после нажатия кнопки идет в командную строку вместо окна.

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете довольно легко создать что-то для этого.Я добавил функцию tk_print, которая будет принимать строку текста, которая затем добавляется в виджет Текст.

from tkinter import *
root = Tk()

def tk_print(new_string):
    text.insert(END, new_string+'\n')

def printName():
    tk_print('My name is Sam')

text = Text(root)
text.grid()
button = Button(root, text='Print my name', command=printName)
button.grid()

root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...