Eu faço muitos scripts para análise rápida de dados. Freqüentemente, preciso copiar uma grande quantidade de texto em meu script ou programa, mas não sinto vontade de passar por todos os escapes, formatação etc. Isso é mais útil quando estou projetando uma consulta em um editor de texto com sintaxe destacando, e eu preciso apenas copiar o texto. Aqui está uma classe e função rápida em python que cria uma caixa de texto gui usando tkinter. Chamar “y = get big string (x)” chama a janela, que contém o texto em “x”. Selecionar “Entendi” retornará qualquer texto inserido e o armazenará em y. Exemplos abaixo.
Eu mantenho o meu em um módulo chamado “convert”, mas depende de você onde deseja colocá-lo.
from tkinter import *
class big_string:
def __init__(self, text=""):
self.root = Tk()
self.Text = text
self.window = self.text_window(self, self.Text)
self.root.mainloop()
class text_window:
def __init__(self, master, text):
self.master = master
self.textBox = Text(master.root)
self.textBox.insert(END, text)
self.textBox.grid(row=0, sticky=NSEW, columnspan=2)
self.master.root.rowconfigure(0, weight=1)
self.master.root.columnconfigure(0, weight=1)
self.buttonOK = Button(master.root, text="GOT IT",
command=self.get_text)
self.buttonOK.grid(row=1, column=0)
self.buttonCancel = Button(master.root, text="NEVERMIND",
command=self.cancel)
self.buttonCancel.grid(row=1, column=1)
def get_text(self):
self.master.Text = self.textBox.get(1.0, END)
self.master.root.destroy()
def cancel(self):
self.master.root.destroy()
def get_big_string(text=""):
bs = big_string(text)
output = bs.Text
return output
A janela:
Edite o texto:
A saída: