Taking input from the user in Tkinter

There might be times when we need to take the user input in our Tkinter application. We can get the user Input in a Single Line text input through the Entry widget using get() method. To display the Captured input, we can either print the message on the screen or display the input with the help of the Label widget.

Example

<span class="com">#Import the required Libraries</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> tkinter </span><span class="kwd">import</span><span class="pln"> </span><span class="pun">*</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> tkinter </span><span class="kwd">import</span><span class="pln"> ttk

</span><span class="com">#Create an instance of Tkinter frame</span><span class="pln">
win</span><span class="pun">=</span><span class="pln"> </span><span class="typ">Tk</span><span class="pun">()</span><span class="pln">

</span><span class="com">#Set the geometry of Tkinter frame</span><span class="pln">
win</span><span class="pun">.</span><span class="pln">geometry</span><span class="pun">(</span><span class="str">"750x250"</span><span class="pun">)</span><span class="pln">

</span><span class="kwd">def</span><span class="pln"> display_text</span><span class="pun">():</span><span class="pln">
   </span><span class="kwd">global</span><span class="pln"> entry
   </span><span class="kwd">string</span><span class="pun">=</span><span class="pln"> entry</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">()</span><span class="pln">
   label</span><span class="pun">.</span><span class="pln">configure</span><span class="pun">(</span><span class="pln">text</span><span class="pun">=</span><span class="kwd">string</span><span class="pun">)</span><span class="pln">

</span><span class="com">#Initialize a Label to display the User Input</span><span class="pln">
label</span><span class="pun">=</span><span class="typ">Label</span><span class="pun">(</span><span class="pln">win</span><span class="pun">,</span><span class="pln"> text</span><span class="pun">=</span><span class="str">""</span><span class="pun">,</span><span class="pln"> font</span><span class="pun">=(</span><span class="str">"Courier 22 bold"</span><span class="pun">))</span><span class="pln">
label</span><span class="pun">.</span><span class="pln">pack</span><span class="pun">()</span><span class="pln">

</span><span class="com">#Create an Entry widget to accept User Input</span><span class="pln">
entry</span><span class="pun">=</span><span class="pln"> </span><span class="typ">Entry</span><span class="pun">(</span><span class="pln">win</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">=</span><span class="pln"> </span><span class="lit">40</span><span class="pun">)</span><span class="pln">
entry</span><span class="pun">.</span><span class="pln">focus_set</span><span class="pun">()</span><span class="pln">
entry</span><span class="pun">.</span><span class="pln">pack</span><span class="pun">()</span><span class="pln">

</span><span class="com">#Create a Button to validate Entry Widget</span><span class="pln">
ttk</span><span class="pun">.</span><span class="typ">Button</span><span class="pun">(</span><span class="pln">win</span><span class="pun">,</span><span class="pln"> text</span><span class="pun">=</span><span class="pln"> </span><span class="str">"Okay"</span><span class="pun">,</span><span class="pln">width</span><span class="pun">=</span><span class="pln"> </span><span class="lit">20</span><span class="pun">,</span><span class="pln"> command</span><span class="pun">=</span><span class="pln"> display_text</span><span class="pun">).</span><span class="pln">pack</span><span class="pun">(</span><span class="pln">pady</span><span class="pun">=</span><span class="lit">20</span><span class="pun">)</span><span class="pln">

win</span><span class="pun">.</span><span class="pln">mainloop</span><span class="pun">()</span>

Output

Running the above code will display a window that will contain an entry widget that accepts the single line User Input.

Now, write some text in the given entry widget and press "Okay" to validate and display the entry widget on the screen.

Updated on: 2023-09-14T13:13:52+05:30

42K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements