Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当我添加功能时,Kivy按钮失去被按下的视觉指示_Python_User Interface_Button_Kivy_Kivy Language - Fatal编程技术网

Python 当我添加功能时,Kivy按钮失去被按下的视觉指示

Python 当我添加功能时,Kivy按钮失去被按下的视觉指示,python,user-interface,button,kivy,kivy-language,Python,User Interface,Button,Kivy,Kivy Language,我正在将一些机器人集成到我工作的仓库中。我已经创建了一个Kivy GUI来操作这些机器人。通常,当您在Kivy中按下按钮时,按钮形状会从矩形变为圆角矩形,并且按钮颜色会发生变化。如果我添加简单的功能,比如按下时打印文字,它会保持这种响应。然而,当我添加代码来控制机器人时,它会丢失这个视觉指示。按钮工作-按下时执行正确的功能,但按钮外观没有变化,表明已按下 我不知道我能提供多少代码,因为它是专有的。我正在使用robot公司的API和SDK创建这个GUI 我尝试过使用.kv文件和不使用.kv文件制作

我正在将一些机器人集成到我工作的仓库中。我已经创建了一个Kivy GUI来操作这些机器人。通常,当您在Kivy中按下按钮时,按钮形状会从矩形变为圆角矩形,并且按钮颜色会发生变化。如果我添加简单的功能,比如按下时打印文字,它会保持这种响应。然而,当我添加代码来控制机器人时,它会丢失这个视觉指示。按钮工作-按下时执行正确的功能,但按钮外观没有变化,表明已按下

我不知道我能提供多少代码,因为它是专有的。我正在使用robot公司的API和SDK创建这个GUI

我尝试过使用.kv文件和不使用.kv文件制作按钮。我试着在按下按钮时手动添加颜色变化-没有运气。我也尝试过修改透明度和文本。基本上,我不能得到任何视觉变化发生在按钮时,它被按下,而它调用这个函数

从我的.kv文件(很抱歉,格式很奇怪):


尝试将
更改为
,并将
按钮:
更改为
我的按钮:
。看看有没有效果。我想知道是否还有其他一些设置会影响您的
按钮
。实际上,您所描述的“正常”kivy行为并不“正常”<代码>按钮按下时形状通常不会改变。因此,很明显,您公司的API和/或SDK正在更改
按钮的默认行为
。另一个尝试是在按下时将
更改为发布时的
@JohnAnderson谢谢,您的简单修复成功了!
< Button >:
    font_size: 30
    color: 1,1,1,1
    size_hint: 0.15,0.1
< FloatLayout >:
    Button:
        text: "Clear Error"
        font_size: 20
        pos_hint: {"x":0.85, "top":0.1}
        background_normal: ''
        background_color: .2,.8,.2,1
        on_press: app.ClearError()
def ClearError(self):
    robot_name1 = "robot name"
    print("CLEAR ERROR")
    robot = Robot.load(robot_name1, client=client)
    if robot.error_status is not None:
        print("Error status!")
        robot.error_status = None 
        robot.save(client=client)