首页 > 解决方案 > 我正在尝试做一个点击游戏,但它不起作用,为什么?

问题描述

我对python真的很陌生,我并不想做一些超级特别的事情,我不知道为什么我的点击计数器只计算1次点击,然后就不再计算了。这是我的代码:

from tkinter import *

click = 0
mult1 = 0


def mult():
    global mult1
    mult1 = mult1 + 1


def clicked():
    global click1
    global click2

    click1 = click + 1
    click2 = click1 + mult1

    label1.configure(text=f'Total Clicks: {click2}', font=("Calibri", 26))


def mult():
    global mult1
    mult1 = mult1 + 1


def gui():
    global label1
    global gui

    gui = Tk()
    gui.geometry("800x500")
    btn_click = Button(gui, text="Click to add Clicks!", padx=20, pady=20, font=("Times 16", 15), command=clicked).place(x=310, y=430)
    label1 = Label(gui)
    label1.grid(column=0, row=10)
    gui.mainloop()


gui()

标签: pythonpython-3.xtkinter

解决方案


首先,您只有一个按钮。mult永远不会被调用。mult1因此,始终保持在 0。其次,您使用 3 个不同的变量(和) click,而您只需要 1 个。click1click2

from tkinter import *

total_clicks = 0
clicks_to_add = 1


def mult():
    global clicks_to_add
    clicks_to_add += 1


def clicked():
    global total_clicks

    total_clicks += clicks_to_add

    label1.configure(text=f'Total Clicks: {total_clicks}', font=("Calibri", 26))

def main():
    global label1
    global gui

    gui = Tk()
    gui.geometry("800x500")
    btn_click = Button(gui, text="Click to add Clicks!", padx=20, pady=20, font=("Times 16", 15), command=clicked).place(x=310, y=430)
    label1 = Label(gui)
    label1.grid(column=0, row=10)
    gui.mainloop()


main()

推荐阅读