Home  >  Article  >  Backend Development  >  Cookie Clicker using Python Tkinter

Cookie Clicker using Python Tkinter

Barbara Streisand
Barbara StreisandOriginal
2024-11-09 00:33:02498browse

Import

from tkinter import *

This imports all functions and classes from the tkinter module, allowing us to create a GUI in Python.

Making Window

 window = Tk()

Initializes the main window for the application. Tk() creates a root window where all widgets (like buttons, labels, etc.) will be placed.

Setting the Size of the Screen

 window.geometry("300x300")

Sets the window dimensions to 300x300 pixels, defining the initial size of the
application window.

Setting the title

 window.title("Cookie Clicker")

Sets the title of the window to "Cookie Clicker," which appears in the title bar.

Background color

window.configure(bg='#b79488')

Sets the background color of the window to #b79488, a soft brown shade. You can customize the color code as desired.

Clicks tracking

number = 0

Initializes a variable number to 0, which will count the number of times the cookie (button) is clicked.

The method that runs when the button is clicked

def ClickBtn():
 global number
 number += 1
 ShowInfo["text"] = "You Clicked " + str(number) + " times."

Function Definition

ClickBtn() is a function that gets called each time the button is clicked.

Global Keyword

global number allows the function to access and modify the number variable defined outside the function increment each time the function is called, it increments the number by 1.

LabelUpdate

Updates the ShowInfo label text to display the current click count. The text changes to "You Clicked X times," where X is the current value of number.

Initializing the Image

ClickingImage = PhotoImage(file="cookie.png")

ImageLoading

Loads an image from a file named "cookie.png" and assigns it to ClickingImage. This image will be used as the icon on the button.

  • Note: Make sure cookie.png is in the same directory as the code file or provide the full path. This image should ideally be a PNG for compatibility with PhotoImage.

Creating the button

 ClickingButton = Button(window, image=ClickingImage, bg="#fab25f",
 fg="blue", font=("Arial", 22), command=ClickBtn)

Button Creation

Creates a button widget (ClickingButton) and assigns it to the main window.

Parameters

  • image=ClickingImage: Sets the button image to the loaded cookie image(ClickingImage).
  • bg="#fab25f": Sets the button background color to a light orange shade.
  • fg="blue": Sets the text color to blue (though this may not show on animage-based button).
    • font=("Arial", 22): Sets the font type to Arial, size 22.
    • command=ClickBtn: Associates the button with the ClickBtn function, so it’s executed when the button is clicked.

Text Label

ShowInfo = Label(window, text="message", font=("Arial", 20),fg="purple")

Explanation:

LabelCreation

Creates a label widget (ShowInfo) to display messages.

Parameters

  • text="message": Sets the initial text to "message" (you can adjust this to a more informative starting message).
  • font=("Arial", 20): Sets the font type to Arial, size 20.
  • fg="purple": Sets the text color to purple.

Adding them to the screen

from tkinter import *

WidgetPacking

Adds (packs) the button and label widgets to the window.pack() automatically places each widget below the previous one in the center of the window.

Order

The button is packed first, so it appears above the label in the window layout.

The mainloop

 window = Tk()

EventLoop

Starts Tkinter's main event loop, which keeps the window open and responsive until it is closed. The application will wait for user interactions, such as button clicks, while running this loop.

Full code

 window.geometry("300x300")

Output

Cookie Clicker using Python Tkinter

Good job guys you have made a simple cookie clicker using tkinter :)

The above is the detailed content of Cookie Clicker using Python Tkinter. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn