新手:如何在窗口中实现一个简单的计数器

时间:2017-03-01 15:55:18

标签: python-3.x tkinter

我是Python的初学者,我试图在Python3 / Tk中实现一个非常简单的程序:一个带有一个文本句子的简单窗口"你点击了 i 次。"和一个按钮。当单击按钮时,该句子将 i 的值更新为下一个整数。  这是我的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import *
# Définition du compteur d'affichage
i=0
def f():
    global i
    i=i+1
# Corps du programme
def affichage():
    monTexte.set("Le nombre de clicks est "+str(i)+".")
# Affichage du texte 1
fen=Tk()
monTexte=StringVar()
monTexte.set("Le nombre de clicks est "+str(i)+".")
texteLabel = Label(fen, textvariable = monTexte)
texteLabel.pack()
# Affichage du bouton 1
btn=Button(fen, f(), text="+1", command=affichage)
btn.pack()
fen.mainloop()

我知道每次点击按钮都必须执行 f()功能,但我实现它的方式只执行一次。也许有某种循环可以实现,但我不知道该怎么做。

提前致谢,

尼古拉斯

1 个答案:

答案 0 :(得分:1)

您需要将按钮执行的命令设置为增加i值的命令,例如:

btn=Button(fen, text="+1", command=f)

你的函数'f'是:

def f():
    global i
    i=i+1
    monTexte.set("Le nombre de clicks est "+str(i)+".")

程序:

from tkinter import *

i=0
def f():
    global i
    i=i+1
    monTexte.set("Le nombre de clicks est "+str(i)+".")

fen=Tk()

monTexte=StringVar()
monTexte.set("Le nombre de clicks est "+str(i)+".")

texteLabel = Label(fen, textvariable = monTexte)
texteLabel.pack()

btn=Button(fen, text="+1", command=f)
btn.pack()

fen.mainloop()