How can I set the text widget contents to the value of a variable in Python/Tkinter?

37k views Asked by At

I am writing a program to assist with a trivial part of my job that can be automated. My purpose here is to:

  1. Copy and paste a chunk of plain text into a Tkinter text widget

  2. Use that pasted chunk of text as the value of a variable so that the variable can have certain characters pulled and returned down the line.

I have a functioning little bit of code. For example, here is my text widget and the lines of code I use to get and print its contents:

textBox = Text(root)

textBox.focus_set()

def get_input():
    print textBox.get(1.0, 'end-1c')

Then I use a button that uses the command get_input. It works when it comes to printing the contents of the widget.

Now that I know how to properly call on the contents and 'get' them, I would like to learn how I can assign those contents (a string) to the value of a variable.

2

There are 2 answers

4
VeryAwkwardCake On

I think what you want is this. It will delete all the text and then insert a variable.

def set_input(value):
    text.delete(1.0, "END")
    text.insert("END", value)

It is Python 2.x only. Python 3 requires that "END" be END from the Tk namespace.

1
Dave cool On
def set_value():
    text.insert("end-1c", value)