QListWidget은 사용자 정의 위젯 라벨을 표시하지 않습니다.

Pouya

나는 사용자 정의 추가하려고 해요 RadioWidget로들 QListWidgetItemA와 QListWidget. Mainwindow가 표시되고 radiowidget항목이 추가 된 것처럼 보이지만 레이블이 표시되지 않습니다. 이것은 내가 사용하는 코드입니다.

from typing import Optional
from PyQt5.QtWidgets import QLabel, QWidget


class RadioWidget(QWidget):

    def __init__(self, parent: Optional[QWidget], radioTitle: str) -> None:
        super().__init__(parent=parent)
        self.radioTitleLbl = QLabel(radioTitle)
import sys
from typing import Optional
from PyQt5.QtWidgets import (
    QApplication,
    QListWidget,
    QListWidgetItem,
    QMainWindow,
    QWidget,
)

from vagh.radiowidget import RadioWidget


class Vagh(QMainWindow):
    def __init__(self, parent: Optional[QWidget] = None) -> None:
        super().__init__(parent=parent)
        self.radiosList = QListWidget(self)
        self.radios = ("radio1", "radio2", "radio3")
        self.loadRadios()
        self.setCentralWidget(self.radiosList)
        self.show()

    def loadRadios(self):
        for radio in self.radios:
            radioItem = QListWidgetItem(self.radiosList)
            radioWidget = RadioWidget(self.radiosList, radio)
            radioItem.setSizeHint(radioWidget.sizeHint())
            self.radiosList.addItem(radioItem)
            self.radiosList.setItemWidget(radioItem, radioWidget)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    v = Vagh()
    app.exec_()
음악가

부모없이 생성 된 위젯은 최상위 창으로 간주됩니다 (예 : 레이아웃에 추가 될 때 부모가 다시 지정 될 때까지).

이론적으로 QLabel은 RadioWidget생성자에서 인스턴스를 부모로 추가하여 자식으로 올바르게 추가 할 수 있습니다 .

self.radioTitleLbl = QLabel(radioTitle, self)

그러나 이것은 잘 작동하지 않을 것입니다. 라벨은 라디오 위젯의 왼쪽 상단에 생성되지만 그 위젯은 라벨에 대해 아무것도 알지 못합니다 . 위젯의 sizeHint는 레이아웃 관리자가 위젯에 대해 설정된 경우 (또는 어떤 식 으로든 다시 구현 될 때)에만 해당 콘텐츠를 기반으로 반환됩니다.

해당 위젯에 대해 레이아웃 관리자가 설정되지 않았기 때문에 결과적으로 RadioWidget은 자신이 비어있는 것으로 간주 하여 잘못된 힌트 ( QSize(-1, -1))를 반환 하고 항목의 크기가 null 크기로 조정되기 때문에 레이블 (항목 없음)이 표시되지 않습니다.

평소처럼 항상 레이아웃 관리자를 사용해야합니다.
뿐만 아니라 레이아웃에 레이블을 추가하면 텍스트가 변경 될 때마다 올바르게 크기가 조정됩니다.

다음 수정으로 QListWidgetItem에 sizeHint를 설정할 필요조차 없습니다. 위젯에서 반환 한 힌트를 자동으로 사용하기 때문입니다.

class RadioWidget(QWidget):
    def __init__(self, parent: Optional[QWidget], radioTitle: str) -> None:
        super().__init__(parent=parent)
        layout = QVBoxLayout(self)
        self.radioTitleLbl = QLabel(radioTitle)
        layout.addWidget(self.radioTitleLbl)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Wordpress 사용자 정의 위젯은 값을 저장하지 않습니다.

분류에서Dev

사용자 정의 위젯은 PyQt5에서 보이지 않습니다.

분류에서Dev

사용자 정의 dojo 위젯은 버튼 클릭시 텍스트 필드를 지우지 않습니다.

분류에서Dev

WordPress의 사용자 정의 위젯을 사용하여 페이지에 5 개의 게시물을 표시 할 수 없습니다.

분류에서Dev

사용자 지정 잠금 화면 위젯을 만드는 방법 (버튼 만 표시하고 싶습니다)

분류에서Dev

Flutter 사용자 정의 위젯이 표시되지 않음

분류에서Dev

Wordpress 위젯 수정은 적용되지 않습니다

분류에서Dev

TTK 노트북은 다른 프레임에서 사용자 정의 프레임에서 위젯을 표시 할 수 없습니다

분류에서Dev

기존 위젯 그룹으로 사용자 정의 위젯을 만드시겠습니까?

분류에서Dev

django 관리자에서 django의 기본 날짜 시간 위젯을 대체하여 사용자 정의 위젯이 작동하도록 할 수 없습니다.

분류에서Dev

Flutter에서 Slider 위젯의 썸 색상을 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

내 사용자 정의 위젯이 Qt Creator / Qt Designer에 표시되지 않지만 프로그램을 실행할 때 표시됩니다.

분류에서Dev

위젯 정렬 및 정렬 속성을 사용하여 행의 자식을 정렬 할 수 없습니다.

분류에서Dev

사용자 이름을 사용한 라 라벨 인증은 대소 문자를 구분하지 않습니다

분류에서Dev

사용자 정의 위젯 클래스에서 중앙 위젯을 변경하는 방법은 무엇입니까?

분류에서Dev

PySide : 자체 레이아웃이있는 사용자 정의 위젯을 상위 위젯의 레이아웃에 추가하면 오프셋이 있습니다. 원인은 무엇입니까?

분류에서Dev

내 워드 프레스 사용자 정의 위젯이 전체 사이트를 엉망으로 만들고, 하나의 위젯이 작동하고, 더 많은 위젯을 추가하고, 모든 것을 망칩니다.

분류에서Dev

kivy의 remove_widget은 위젯을 제거하지 않습니다.

분류에서Dev

Ebay의 Ins 위젯은 Gatsby LInk를 사용하여 탐색 할 때 표시되지 않지만 일반 태그로 표시됩니다.

분류에서Dev

WidgetKit 위젯은 3 초마다 타임 라인 새로 고침을 허용하지 않습니다.

분류에서Dev

sage 테마에 사용자 정의 위젯을 추가하는 동안 오류가 발생했습니다.

분류에서Dev

Yii, 사용자 정의 위젯이 null을 반환합니다.

분류에서Dev

KDE 위젯은 시스템 하드 리셋 후 키보드 입력을 허용하지 않습니다.

분류에서Dev

사용자 정의 위젯 js가 qweb의 템플릿을 인식하지 못합니다.

분류에서Dev

자바 스크립트 엄격 모드-jQuery 위젯의 속성을 확장 할 때 "이것은 정의되지 않았습니다"

분류에서Dev

사용자 정의 Flutter SDK 위젯을 만들고, Flutter를 다시 빌드하고, 새 위젯을 사용하는 방법

분류에서Dev

Android 위젯은 데이터를 표시하지 않습니다.

분류에서Dev

D3 JS를 사용하여 Hue에서 사용자 정의 위젯을 만들 수 있습니까?

분류에서Dev

R HTML 위젯 출력에 사용자 정의 js 파일을 추가 하시겠습니까?

Related 관련 기사

  1. 1

    Wordpress 사용자 정의 위젯은 값을 저장하지 않습니다.

  2. 2

    사용자 정의 위젯은 PyQt5에서 보이지 않습니다.

  3. 3

    사용자 정의 dojo 위젯은 버튼 클릭시 텍스트 필드를 지우지 않습니다.

  4. 4

    WordPress의 사용자 정의 위젯을 사용하여 페이지에 5 개의 게시물을 표시 할 수 없습니다.

  5. 5

    사용자 지정 잠금 화면 위젯을 만드는 방법 (버튼 만 표시하고 싶습니다)

  6. 6

    Flutter 사용자 정의 위젯이 표시되지 않음

  7. 7

    Wordpress 위젯 수정은 적용되지 않습니다

  8. 8

    TTK 노트북은 다른 프레임에서 사용자 정의 프레임에서 위젯을 표시 할 수 없습니다

  9. 9

    기존 위젯 그룹으로 사용자 정의 위젯을 만드시겠습니까?

  10. 10

    django 관리자에서 django의 기본 날짜 시간 위젯을 대체하여 사용자 정의 위젯이 작동하도록 할 수 없습니다.

  11. 11

    Flutter에서 Slider 위젯의 썸 색상을 사용자 정의하는 방법은 무엇입니까?

  12. 12

    내 사용자 정의 위젯이 Qt Creator / Qt Designer에 표시되지 않지만 프로그램을 실행할 때 표시됩니다.

  13. 13

    위젯 정렬 및 정렬 속성을 사용하여 행의 자식을 정렬 할 수 없습니다.

  14. 14

    사용자 이름을 사용한 라 라벨 인증은 대소 문자를 구분하지 않습니다

  15. 15

    사용자 정의 위젯 클래스에서 중앙 위젯을 변경하는 방법은 무엇입니까?

  16. 16

    PySide : 자체 레이아웃이있는 사용자 정의 위젯을 상위 위젯의 레이아웃에 추가하면 오프셋이 있습니다. 원인은 무엇입니까?

  17. 17

    내 워드 프레스 사용자 정의 위젯이 전체 사이트를 엉망으로 만들고, 하나의 위젯이 작동하고, 더 많은 위젯을 추가하고, 모든 것을 망칩니다.

  18. 18

    kivy의 remove_widget은 위젯을 제거하지 않습니다.

  19. 19

    Ebay의 Ins 위젯은 Gatsby LInk를 사용하여 탐색 할 때 표시되지 않지만 일반 태그로 표시됩니다.

  20. 20

    WidgetKit 위젯은 3 초마다 타임 라인 새로 고침을 허용하지 않습니다.

  21. 21

    sage 테마에 사용자 정의 위젯을 추가하는 동안 오류가 발생했습니다.

  22. 22

    Yii, 사용자 정의 위젯이 null을 반환합니다.

  23. 23

    KDE 위젯은 시스템 하드 리셋 후 키보드 입력을 허용하지 않습니다.

  24. 24

    사용자 정의 위젯 js가 qweb의 템플릿을 인식하지 못합니다.

  25. 25

    자바 스크립트 엄격 모드-jQuery 위젯의 속성을 확장 할 때 "이것은 정의되지 않았습니다"

  26. 26

    사용자 정의 Flutter SDK 위젯을 만들고, Flutter를 다시 빌드하고, 새 위젯을 사용하는 방법

  27. 27

    Android 위젯은 데이터를 표시하지 않습니다.

  28. 28

    D3 JS를 사용하여 Hue에서 사용자 정의 위젯을 만들 수 있습니까?

  29. 29

    R HTML 위젯 출력에 사용자 정의 js 파일을 추가 하시겠습니까?

뜨겁다태그

보관