【问题标题】:How to highlight focus switch widget in kivy如何在kivy中突出显示焦点开关小部件
【发布时间】:2018-05-27 11:47:00
【问题描述】:

当我将焦点设置在 Switch 上时,有人可以告诉我如何突出显示 switch 小部件吗?它应该看起来像焦点一样。

test.py

from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.core.window import Window
from kivy.properties import StringProperty, ObjectProperty
from kivy.clock import Clock

Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (200, 150)


class User(Screen):
    swtch = ObjectProperty(None)

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)
        Clock.schedule_once(self.swtch_focus, 1)

    def swtch_focus(self, *args):
        self.swtch.focus = True



class Test(App):

    def build(self):
        return self.root


if __name__ == '__main__':
    Test().run()

test.kv

User:
    swtch: swtch
    BoxLayout:
        orientation: "vertical"
        GridLayout:
            cols: 2
            padding: 20, 20
            spacing: 10, 10

            Switch:
                id:swtch

【问题讨论】:

    标签: python python-2.7 kivy


    【解决方案1】:

    github 中有 hoverableBehaviour 这里是链接https://gist.github.com/KeyWeeUsr/3166f13d363d5558f481d538c6a5d2aa 复制代码并创建一个模块到您的当前目录并导入它以使用它,您可以将其添加到您的小部件以具有焦点或突出显示功能。这是怎么做的。

    class Highlight(HoverBehavior,Screen):
        def on_enter(self):
            print('Focus on')
        def on_leave(self):
            print('Focus off')
    

    【讨论】:

      猜你喜欢
      • 2017-04-04
      • 2011-02-13
      • 1970-01-01
      • 2016-04-07
      • 2022-01-04
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多