понедельник, 1 января 2018 г.

Python (tkinter). Копируемый однострочный вывод

Снова, потратив кучу времени в поисках простейшего варианта решения, пишу мини-заметку "для потомков".

В этот раз озвучу способ вывода однострочного результата в Python через GUI с использованием tkinter, подходящий для последующего копирования через буфер обмена. В примере скрипт ещё использует и ввод данных, которые будут преобразовываться (виджет Entry), вот через последний и будет производиться наш вывод.

Для упрощения демонстрации отброшено лишнее, поэтому всё выглядит неказисто, так что дизайнерские изыски используйте на свой вкус.

Окно Tk() с виджетом Entry и кнопкой
Для простоты демонстрации, как вы видите, будет только окно с полем для ввода и кнопкой. В поле производится ввод (вообще, это опционально, но в нашем случае обрабатываются именно введённые данные), по нажатию кнопки происходят вычисления и вывод в имеющееся поле с заменой находившегося там значения.

Итак, вот, собственно, весь скрипт примера:
from tkinter import *

window = Tk()

def reverse():
    gnirts = string.get()[::-1]

    field_input.delete(0, END)
    field_input.insert(0, gnirts)

string = StringVar()

field_input = Entry(textvariable=string)
field_input.pack()

Button(text="Reverse Text", command=reverse).pack()

window.mainloop()
Все вычисления здесь заключаются в "разворачивании" введённого текста задом наперёд в строке
    gnirts = string.get()[::-1]
с последующей очисткой поля ввода и выводом в него результирующего значения.

С Новым Годом!

Комментариев нет:

Отправить комментарий

Если у вас есть что сказать и/или вы не согласны с изложенным в посте – оставьте комментарий. Регистрации не требуется.

If you think I'm wrong and/or you have to say something – fill free to write comment. No sign up required.