首页 > 解决方案 > 我只想在kivy中依次单击两个按钮时打印文本

问题描述

def build(self): 
   layout=FloatLayout()
 
    # use a (r, g, b, a) tuple 

    btn1 = Button(text ="Push Me !",
    background_color =(1, 1, 1,1)
    size =(32, 32), 
    size_hint =(.2, .2), 
    pos =(300, 250)) 

    btn2  = Button(text ="click Me !",
    background_color =(1, 0, 1,1)
    size =(32, 32), 
    size_hint =(.2, .2), 
    pos =(100, 250)) 

    layout.add_widget(btn1)
    layout.add_widget(btn2)

    # I need a function here to print a text only if the two buttons are clicked one after another.

    return  layout

标签: pythonkivy

解决方案


例如,您可以在单击第一个按钮时更新变量值。然后,当单击第二个按钮时,您检查此变量的值,如果它具有正确的值,则打印文本,当然,您重置变量。

这是一个简单的代码:

var_click = 0
def click1(*events):
     global var_click
     var_click = 1

def click2(*events):
     global var_click
     if var_click == 1:
         var_click = 0
         print("Some text")

然后你只需将这两个函数分别关联到command参数 ofbtn1btn2


推荐阅读