Как сделать кнопку в tkinter, которая позволяет мне посчитать, сколько раз она была нажата? - PullRequest
0 голосов
/ 25 января 2020

Я пытался создать кнопку в tkinter, которая отслеживает, сколько раз она была нажата, но каждый раз, когда я нажимаю на нее, отображается синтаксическая ошибка.

Способ, которым я намерен работать, состоит в том, чтобы каждый раз при нажатии на верхнюю кнопку добавлялся один к счетчику, а затем при нажатии на нижнюю кнопку программа закрывалась и сколько раз верхняя кнопка была нажата будет напечатана.

from tkinter import *

count = 0
def counter():
    count = count + 1
def total():
    print(count)
    exit ()

window = Tk()
window.geometry("175x105")
window.resizable(0, 0)

text=Label(window, text="Click the button.", font=("Times New Roman", 10))
text.pack(padx=3, pady=3)

button=Button(window, text="CLICK HERE", width=12, bg="gray", command=counter)
button.pack(padx=2, pady=2)
button2=Button(window, text="FINISH", width=12, bg="gray", command=total)
button2.pack(padx=2, pady=2)

window.mainloop()

1 Ответ

0 голосов
/ 25 января 2020

Вам нужно только глобализировать переменную count внутри функции counter(). Он будет обновлять значение count каждый раз, когда вызывается функция.

Например:

import tkinter as tk

count = 0


def counter():
    global count
    count = count + 1   # you can also use: count += 1


def total():
    print(count)
    exit()


window = tk.Tk()
window.geometry("175x105")
window.resizable(0, 0)

text = tk.Label(window, text="Click the button.", font=("Times New Roman", 10))
text.pack(padx=3, pady=3)

button = tk.Button(window, text="CLICK HERE", width=12, bg="gray", command=counter)
button.pack(padx=2, pady=2)
button2 = tk.Button(window, text="FINISH", width=12, bg="gray", command=total)
button2.pack(padx=2, pady=2)

window.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...