다른 레이아웃이있는 매우 간단한 Kivy 응용 프로그램을 만들었습니다. 내 앱을 GridLayout(rows=2)
으로 분할해야합니다. 이렇게하면 화면 상단에 '헤더'가 있고 나머지 화면에는 carousel
또는 accordion
을 가질 수 있습니다.Kivy의 레이아웃 내부에서 위젯을 반환하는 방법은 무엇입니까?
내 문제는 레이아웃에서 내 위젯을 반환하는 방법을 알 수 없다는 것입니다. 당신이 볼 수 있듯이, 내 레이아웃 안에 내 회전 목마를 표시하기 위해 그 2 return
필요하지만,이 방법은 회전 목마가 내 응용 프로그램에 나타납니다
class Logo(App):
def build(self):
layout = GridLayout(rows=2)
layoutTop = FloatLayout()
layoutMid = FloatLayout()
logo = Image(source='imagine.png',size_hint=(.25,.25),pos=(30,380))
titre = Label(text='#LeCubeMedia',font_size='40sp',pos=(0,280))
ip = Label(text='192.168.42.1',font_size='25sp',pos=(250,280))
carousel = Carousel(direction='right', loop = True, size_hint=(.5,.5),pos=(300,180))
for i in range(2):
src = "imagine.png"
image = Factory.AsyncImage(source=src, allow_stretch=True)
carousel.add_widget(image)
Clock.schedule_interval(carousel.load_next, 1)
return carousel ------> 1st Return
layoutTop.add_widget(titre)
layoutTop.add_widget(logo)
layoutTop.add_widget(ip)
layoutMid.add_widget(carousel)
layout.add_widget(layoutTop)
layout.add_widget(layoutMid)
return layout ------> 2nd Return
if __name__ == '__main__':
Logo().run()
:
여기 내 코드입니다. return carousel
을 삭제하면 이미지를 스 와이프 할 때 오류가 발생합니다. 일반적으로 캐 러셀이 이미지를 전달하지 못하게하는 레이아웃 새로 고침이 있습니다.
내 레이아웃에서 코드를 재구성하여 좋은 회전식 컨베이어를 만들 수있는 아이디어가 있습니까?
안녕하세요, 전체적으로이 코드를 게시 할 수 있습니까? 내 머리 꼭대기에서, 지금까지의 유일한 대답은 정확합니다. 한 번만 돌아와야합니다. 그러나 가능한 경우 위의 사항을 수정하여이를 해결하려고 노력할 것입니다. 그러나 위와 같은 것이 전부가 아니라면 전체 코드가 필요합니다. – Manhattan
@Tshirtman이 수정 프로그램을 밀고 나면 문제가 해결되었습니다. GitHub에서 Kivy를 마스터로 업데이트 해보십시오. 'load_next' 함수에'schedule_interval'을 설정하면 이제 작동합니다. – Manhattan