用鼠标悬停突出显示Kivy ToggleButton

时间:2016-07-12 20:03:36

标签: kivy mouseover kivy-language

我目前正在用Kivy编写GUI。我需要修改ToggleButton行为,以便在鼠标悬停时突出显示。到目前为止,这是我的代码:

class FilterToggle(ToggleButton):

    def __init__(self, **kwargs):

        Window.bind(mouse_pos=self.on_mouse_pos)
        super(FilterToggle, self).__init__(**kwargs)

    def on_mouse_pos(self, *args):
        pos = args[1]
        if self.collide_point(*pos):
            print("I am on the good path!)

这是我的.kv文件:

<FilterToggle>:

    text_size: self.width - 20, None
    valign: 'middle'
    halign: 'left'
    markup: True
    .
    .
    .
    FilterToggle:
        text: "This is just to illustrate"

on_mouse_pos()函数从不打印任何内容,因为self.collide_point(* pos)始终返回“False”。我发现self.pos给了我所有FilterToggle小部件的坐标,所以我的代码显然存在问题。

非常感谢帮助Python初学者!

0 个答案:

没有答案