Kivy 이상한 너비 속성 결과

나쁘다

Kivy 앱을 코딩 할 때 width테스트를 위해 사용자 정의 위젯 정의에 약간의 속성을 넣었습니다 . 내 함수는 새로운 너비를 만들어야 했고이 너비는 어디에도 사용해서는 안됩니다. 그래서 시간이 지남에 따라 제거하는 것을 잊었습니다. 하지만 이제 코드를 정리하고 제거하려고했을 때 height위젯이 깨졌습니다. 높이도 동적이지만 새 너비가 할당 된 후에 높이 생성이 발생하므로 위젯의 초기 너비와 관련이 없습니다. 그래서 나는 이것을 일으키는 원인에 대해 다소 혼란 스럽습니다. 참고 : 보호 된 속성을 사용하여 높이를 계산합니다. 아마도 책임이 있습니까? 나는 빠른 더러운 앱을 모아서 추악함을 용서했지만 가능한 한 코드를 줄이려고 노력했습니다.

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label

global msg_stack
msg_stack = []

Builder.load_string('''
<Custom>:
    x: 5
    width: 500
    BoxLayout:
        pos: root.pos
        height: self.height
        TextInput:
            pos: root.pos
            size: root.size
            id: msg
            readonly: True
            text: str(msg)
''')
class Custom(Widget):
    pass

class TestApp(App):
    def build(self):
        msg = "A bunch of random words: words, words, words, words, words"
        inst = Custom()

        inst.ids['msg'].text = msg

        inst.width = 500 
        inst.height = (len(inst.ids['msg']._lines_labels) + 1) * (inst.ids['msg'].line_height + 2)

        for i in inst.walk():
            i.height = inst.height
            i.width = inst.width

        bl = BoxLayout(orientation="vertical")
        bl.add_widget(inst)
        return bl

TestApp().run()

따라서이 속성을 500으로 설정하면 높이가 줄 수에 딱 맞습니다 ( msg변수에 텍스트를 더 추가하면 알 수 있음 ). 하지만 50과 같이 다른 것으로 바꾸면 갑자기 높이가 올라갑니다.

바다 몽키즈

다음은 해부 시도입니다.

원래는 widthCustom를 500으로 설정했습니다. 에서는 이 원래 크기에서 표시하는 데 필요한 줄을 계산하는에 build텍스트가 할당 TextInput되므로 1 줄이됩니다. 당신은 설정하면 widthKV 부분에 50, 인스턴스화하기 전에, 다음은 TextInput텍스트를 표시하기 위해 더 많은 라인이 필요합니다, 어떤 제약 조건에 넣지 이후 height, 그것은 (주석에 의해 당신이 볼 수있는 기본이 100이 될 것입니다 inst.width = ...inst.height = ...build) . 이제 주석을 달고 inst.width = ...그대로두면 inst.height = ...높이가 변경됩니다. 실제로 모든 텍스트를 표시하려면 16 줄이 필요하기 때문입니다. 그리고 inst.width = 500그 선 바로 앞에 설정 하면 컨테이너가 넓어지고 새 높이가 계산됩니다 (이는 여전히 TextInput의 크기를 기반으로합니다 .BoxLayout크기는 변경되지 않음), 그런 다음 자식을 살펴보고 Custom높이가 높은 위젯의 크기로 명시 적으로 크기를 설정합니다 .

나는 당신이 결국 달성하고 싶은 것이 확실하지 않지만 이것은 당신이 얻는 결과를 설명해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

iframe의 너비 속성에 대한 사용 중단 비율의 결과는 무엇입니까?

분류에서Dev

HTML과 CSS의 너비 속성의 차이점은 무엇입니까?

분류에서Dev

비교를 위해 인수를 속성 선택기로 사용하는 Javascript sort ()는 Chrome에서 이상한 결과를 생성합니다.

분류에서Dev

numpy로 이상한 성능 결과

분류에서Dev

Array.map () 이상한 결과 생성

분류에서Dev

종속성 주입 컨테이너없이 종속성 해결

분류에서Dev

상속 생성자 호출 결과

분류에서Dev

Kivy 속성 오류-개체에 속성이 없음-kv 언어로 위젯 연결 시도

분류에서Dev

뿌리 너비-kivy

분류에서Dev

ManyToMany 연결 테이블과 속성

분류에서Dev

비동기 메서드를 테스트하면 이상한 결과가 생성됩니다.

분류에서Dev

너비 상속을 비활성화 하시겠습니까?

분류에서Dev

너비 상속을 비활성화 하시겠습니까?

분류에서Dev

잘못된 속성 이름 kivy

분류에서Dev

CSS 너비 : 상속 문제

분류에서Dev

사용자가 입력 한 크기의 직사각형과 같은 크기로 캔버스 너비 및 높이 속성 생성

분류에서Dev

여러 대상과 종속성이 결합 된 Makefile

분류에서Dev

TD 상속 테이블 너비

분류에서Dev

루비 파일이있는 Sublime의 이상한 결과

분류에서Dev

루비 파일이있는 Sublime의 이상한 결과

분류에서Dev

numpy 행렬 곱셈에 대한 이상한 성능 결과

분류에서Dev

CSS 너비 속성을 수학 표현식의 결과와 동일하게 만드는 방법

분류에서Dev

Kivy : 창 크기 속성을 변경하는 방법과 클릭과 터치의 차이점

분류에서Dev

JQuery에서 매번 이미지 너비와 높이에 대한 다른 결과

분류에서Dev

C ++ 및 C # 속도 테스트-이상한 결과

분류에서Dev

c에서 비트 프로그램의 이상한 결과

분류에서Dev

이상한 결과 자바 스크립트 비교

분류에서Dev

비동기, 대기 및 이상한 결과

분류에서Dev

자바 비트 시프트 이상한 결과

Related 관련 기사

  1. 1

    iframe의 너비 속성에 대한 사용 중단 비율의 결과는 무엇입니까?

  2. 2

    HTML과 CSS의 너비 속성의 차이점은 무엇입니까?

  3. 3

    비교를 위해 인수를 속성 선택기로 사용하는 Javascript sort ()는 Chrome에서 이상한 결과를 생성합니다.

  4. 4

    numpy로 이상한 성능 결과

  5. 5

    Array.map () 이상한 결과 생성

  6. 6

    종속성 주입 컨테이너없이 종속성 해결

  7. 7

    상속 생성자 호출 결과

  8. 8

    Kivy 속성 오류-개체에 속성이 없음-kv 언어로 위젯 연결 시도

  9. 9

    뿌리 너비-kivy

  10. 10

    ManyToMany 연결 테이블과 속성

  11. 11

    비동기 메서드를 테스트하면 이상한 결과가 생성됩니다.

  12. 12

    너비 상속을 비활성화 하시겠습니까?

  13. 13

    너비 상속을 비활성화 하시겠습니까?

  14. 14

    잘못된 속성 이름 kivy

  15. 15

    CSS 너비 : 상속 문제

  16. 16

    사용자가 입력 한 크기의 직사각형과 같은 크기로 캔버스 너비 및 높이 속성 생성

  17. 17

    여러 대상과 종속성이 결합 된 Makefile

  18. 18

    TD 상속 테이블 너비

  19. 19

    루비 파일이있는 Sublime의 이상한 결과

  20. 20

    루비 파일이있는 Sublime의 이상한 결과

  21. 21

    numpy 행렬 곱셈에 대한 이상한 성능 결과

  22. 22

    CSS 너비 속성을 수학 표현식의 결과와 동일하게 만드는 방법

  23. 23

    Kivy : 창 크기 속성을 변경하는 방법과 클릭과 터치의 차이점

  24. 24

    JQuery에서 매번 이미지 너비와 높이에 대한 다른 결과

  25. 25

    C ++ 및 C # 속도 테스트-이상한 결과

  26. 26

    c에서 비트 프로그램의 이상한 결과

  27. 27

    이상한 결과 자바 스크립트 비교

  28. 28

    비동기, 대기 및 이상한 결과

  29. 29

    자바 비트 시프트 이상한 결과

뜨겁다태그

보관