Python Tkinter: Creating a custom input dialog
Python Tkinter Dialogs and File Handling: Exercise-5 with Solution
Write a Python program to implement a custom input dialog that prompts the user to input their name and displays it in a label using Tkinter.
Sample Solution:
Python Code:
import tkinter as tk
from tkinter import simpledialog
def show_name_dialog():
name = simpledialog.askstring("Input", "Input your name:")
if name:
name_label.config(text=f"Hello, {name}!")
parent = tk.Tk()
parent.title("Input Dialog Example")
get_name_button = tk.Button(parent, text="Get Name", command=show_name_dialog)
get_name_button.pack(padx=20, pady=20)
name_label = tk.Label(parent, text="", padx=20, pady=10)
name_label.pack()
parent.mainloop()
Explanation:
In the exercise above -
- Import "tkinter" as "tk" and "simpledialog" for creating the GUI components and the custom input dialog.
- Define the "show_name_dialog()" function, which uses simpledialog.askstring() to display a custom input dialog titled "Input" with a prompt to "Input your name." The user's input (name) is stored in the name variable. If a name is provided, it updates a label with a greeting message.
- Create the main Tkinter window, set its title, and create a button labeled "Get Name" that calls the "show_name_dialog()" function when clicked.
- Create a label to display the greeting message with some padding.
- The main event loop, parent.mainloop(), starts the Tkinter application.
Sample Output:
Flowchart:
Python Code Editor:
Previous: Building a color picker dialog.
Next: List folder contents.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/tkinter/python-tkinter-dialogs-and-file-handling-exercise-5.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics