我是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()功能,但我实现它的方式只执行一次。也许有某种循环可以实现,但我不知道该怎么做。
提前致谢,
尼古拉斯
答案 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()