Как выделить виджет переключателя фокуса в киве - PullRequest
0 голосов
/ 26 мая 2018

Может кто-нибудь сказать мне, как отобразить виджет 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

1 Ответ

0 голосов
/ 26 мая 2018

В 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...