2
kivy 슬라이더의 간격을 변경하고 싶습니다. 지금까지 스크롤바와 원을 변경하는 데 필요한 적절한 속성을 찾지 못했습니다. 캔버스 작업을 사용하여 생성 된 것 같습니다.kivy에서 슬라이더를 사용자 정의하는 방법
내 비전은 이동 가능한 원 아래에 현재 값을 표시하여 슬라이더를 확장하는 것입니다.
아이디어가 있으십니까?
일부 코드 :
class templPowerSlider():
kivy.lang.Builder.load_string('''
<[email protected]>:
sp: sp
sl: sl
val: val
Spinner:
id: sp
values: ['mW', '%']
text: '%'
size_hint_x: 0.1
on_text: root.onSel(*args)
Slider:
id: sl
size_hint_x: 0.7
TextInput:
id: val
size_hint_x: 0.2
text: "%3.1f" % sl.value
multiline: False
on_text_validate: root.onTextEnter(*args)
''')
def __init__(self, **kwargs):
super(templPowerSlider, self).__init__(**kwargs)
pass
def onSel(self, a, b):
print ('aaa')
def onTextEnter(self, a, b):
print ('bb')
예! - 시원하고 간단한 솔루션. 결코 쉬운 일이라고 생각하지 않았습니다.Maybee 당신은 kv 파일의 템플릿과 python으로 작성된 코드를 어떻게 혼합하는지에 대한 조언을 해줄 수 있습니다. 질문에서 주어진 (나쁜) 예제는 작동하지 않습니다. 루트가 BoxLayout이고 호출해야하는 함수가 상속 된 클래스 인 templPowerSlider에 있기 때문입니다. 그 문제에 대한 좋은 해결책? –
Python 클래스 위젯과 동적 클래스 위젯이 혼합되어 있습니다. 둘 중 하나를 선택해야합니다. 이 경우,'TemplPowerSlider (BoxLayout) :'와' :'를 사용해야합니다. ** 항상 ** 위젯 클래스의 첫 글자를 대문자로 표기해야합니다. –