【问题标题】:Increase Number Button in Guizero (Simple)Guizero中的增加数字按钮(简单)
【发布时间】:2022-01-14 23:24:16
【问题描述】:

我正在为我的教室做一些事情,学生可以通过点击触摸屏来使用投票系统。我是 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 函数,就像这里有人提到的那样,如果您希望函数在单击按钮后运行,那么这就是按钮的工作方式。

谢谢!

【问题讨论】:

    标签: function user-interface button assignment-operator guizero


    【解决方案1】:

    x/current votes 值必须是全局的,否则每次按下按钮时它都会重置投票值。

    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()
    

    【讨论】:

    • 这很棒!谢谢。为什么它不需要 lambda 存在?此外,您使用了不带括号的函数“increase_number”。这将如何改变它的使用方式?
    • 如果您查看 Guizero 文档命令,运行会有所不同。 Guizero 还有很多你可能想查看的示例。这是一个很好的例子,它将向您展示函数和命令是如何工作的 github.com/lawsie/guizero/blob/master/examples/…
    猜你喜欢
    • 2014-01-11
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多