HTML

    Select a Subtopic

    🎯 Day 15: Creating a Desktop GUI with Tkinter

    Today, you'll learn how to build a basic desktop GUI for your Instagram bot using Tkinter, Python's built-in library for creating graphical user interfaces. The GUI will allow users to enter Instagram credentials and start the bot with a button click.


    βœ… What You’ll Learn Today

    • Setting up Tkinter.
    • Creating a window with input fields (username & password).
    • Adding buttons and labels.
    • Using grid layout to organize the GUI.
    • Basic event handling.

    πŸš€ 1. Setting Up Tkinter

    Tkinter is built into Python, so there's no need to install anything separately. Just import it like this:

    import tkinter as tk

    Create a basic window to get started:

    # Import the Tkinter module
    import tkinter as tk
    
    # Create the main window
    root = tk.Tk()
    root.title("Instagram Bot")
    
    # Set the size of the window
    root.geometry("400x300")
    
    # Run the main event loop
    root.mainloop()

    🎨 2. Adding Input Fields and Labels

    Let’s add fields for username and password along with labels.

    # Create a label for Username
    username_label = tk.Label(root, text="Username:")
    username_label.grid(row=0, column=0, padx=10, pady=10)
    
    # Create an entry field for Username
    username_entry = tk.Entry(root)
    username_entry.grid(row=0, column=1, padx=10, pady=10)
    
    # Create a label for Password
    password_label = tk.Label(root, text="Password:")
    password_label.grid(row=1, column=0, padx=10, pady=10)
    
    # Create an entry field for Password
    password_entry = tk.Entry(root, show="*")
    password_entry.grid(row=1, column=1, padx=10, pady=10)

    πŸ–±οΈ 3. Adding a Button to Start the Bot

    Create a button that will trigger the Instagram bot to start.

    # Create a button to start the bot
    start_button = tk.Button(root, text="Start Bot", command=lambda: start_bot(username_entry.get(), password_entry.get()))
    start_button.grid(row=2, column=0, columnspan=2, pady=20)

    πŸ’‘ 4. Handling Button Click (Function)

    Define the start_bot() function that will capture the username and password from the input fields and print them to the console.

    # Function to start the bot
    def start_bot(username, password):
        print(f"Starting bot with Username: {username} and Password: {password}")

    πŸ“‹ Full Code So Far:

    import tkinter as tk
    
    # Function to start the bot
    def start_bot(username, password):
        print(f"Starting bot with Username: {username} and Password: {password}")
    
    # Create the main window
    root = tk.Tk()
    root.title("Instagram Bot")
    root.geometry("400x300")
    
    # Create labels and entry fields
    username_label = tk.Label(root, text="Username:")
    username_label.grid(row=0, column=0, padx=10, pady=10)
    
    username_entry = tk.Entry(root)
    username_entry.grid(row=0, column=1, padx=10, pady=10)
    
    password_label = tk.Label(root, text="Password:")
    password_label.grid(row=1, column=0, padx=10, pady=10)
    
    password_entry = tk.Entry(root, show="*")
    password_entry.grid(row=1, column=1, padx=10, pady=10)
    
    # Create a button to start the bot
    start_button = tk.Button(root, text="Start Bot", command=lambda: start_bot(username_entry.get(), password_entry.get()))
    start_button.grid(row=2, column=0, columnspan=2, pady=20)
    
    # Run the main event loop
    root.mainloop()

    🎯 5. Adding Styling (Optional)

    You can style your GUI by modifying fonts, colors, and other attributes:

    username_label = tk.Label(root, text="Username:", font=("Arial", 14), fg="blue")
    password_label = tk.Label(root, text="Password:", font=("Arial", 14), fg="blue")

    You can also adjust the button styling:

    start_button = tk.Button(root, text="Start Bot", bg="green", fg="white", font=("Arial", 12, "bold"))

    πŸŽ₯ 6. Running Your First GUI

    • Save the code as instagram_bot_gui.py.
    • Run the file in your terminal or command prompt:
    python instagram_bot_gui.py

    πŸ›  Practical Task for Today:

    • Create a Tkinter GUI with username and password fields.
    • Add a Start Bot button that prints the entered credentials to the console.
    • Add styling to your GUI.