0

我正在为我的教室做一些事情,学生可以通过点击触摸屏来使用投票系统。我是 Python 新手,搜索了一些答案,但找不到我要找的东西。

我正在尝试创建一个按钮,每次按下时都会增加一个数字。但是,它只允许我单击一次按钮,然后显示数字。我可能理解 guizero 是错误的,但我认为它基本上是一个不断检查用户输入的 while 循环。

有人能指出我正确的方向吗?

from guizero import App, Text, PushButton

def increase_number(x):
    x += 1
    display_number.value = x


number = 10
app=App()
display_number = Text(app)
button = PushButton(app, text="Press me", command=lambda:increase_number(number))

app.display()

我使用了 lambda 函数,因为这里有人提到,如果您希望在单击按钮后运行该函数,那么按钮需要如何工作。

谢谢!

4

1 回答 1

1

x/当前投票值需要是全局的,否则每次按下按钮时它都会重置投票值。

from guizero import App, Text, PushButton

app = App()

#Stater number
x=0

def increase_number():
    global x
    x += 1
    display_number.value = x


display_number = Text(app,text=x)
button = PushButton(app, text="Press me", command=increase_number)


app.display()
于 2022-01-15T16:43:12.983 回答