Qt를 다시 사용하기 시작했습니다. 우리가 원하는 것은 그래픽 사용자 인터페이스를 자동으로 생성하는 것입니다. 따라서 .ui 파일 형식 (XML 기반 파일 형식)을 자세히 살펴 보았습니다. 이 파일들은 Qt Designer에 의해 생성되지만 다른 소프트웨어에 의해 쉽게 생성 될 수 있습니다. 이 부분은 지금까지 작동합니다.사용자 정의 항목이있는 Qt 사용자 정의 위젯 - Qt Designer/uy
하지만 맞춤 위젯을 추가하고 싶습니다. 맞춤 위젯을 만드는 것도 그리 어렵지 않습니다. 어떤 좋은 웹 사이트도 존재합니다 : Creating Custom Widgets for Qt Designer, Using Custom Widgets with Qt Designer, 더 많은 하이퍼 링크가 포함되어 있습니다. ...
내 질문은 오히려 : 어떻게 사용자 정의 항목을 표시하는 사용자 정의 위젯을 구현할 수 있습니까? 한 가지 예를 들어 봅시다. 우리는 QComboBox와 QSpinBox를 가지고 있습니다. 콤보 세 항목
- B
- C.을 갖는다
"A"는 I '가 최소값 1로 설정 spinbox 원하는 선택 9 maxiumum 세트; "B"를 선택할 때 스핀 박스의 최소값은 10으로 설정되고 최대 값은 99로 설정되어야합니다. "C"를 선택하면 스핀 상자의 최소값을 100으로 설정하고 최대 값을 999로 설정해야합니다. 어떻게 올바르게 수행됩니까?
나는 지금 나를 위해 도우미 클래스 인 QTableWidget에 데이터를 설정했다. 각 행은 세 개의 열/셀이 있습니다
item | min | max
-----+------+-----
A | 0 | 9
B | 10 | 99
C | 100 | 999
을 그리고 나는 QComboBox와 QSpinBox이 포함되어 내 사용자 정의 위젯을 가지고있다. 런타임에는 QTableWidget에서 데이터/모델을 가져 와서 setFriendContainer()라는 메소드로 복사하는 커스텀 위젯에게 [자동으로 출력되는 tablewidget의 신호에 연결되어야하는 공용 슬롯조차도]. 그 후에 테이블 위젯은 더 이상 필요하지 않습니다! 나는 그것을 사용자에게 전혀 보여주고 싶지 않습니다 (이것이 왜 일부 크기 속성이 0으로 설정되었지만 부분적으로는 볼 수 있습니다).
저는 이것이 실제로 구현하기에 이상적인 방법이라고 생각합니다. 무엇이 더 좋을까요/대안일까요? 항목도 생성되며 동일한 .ui 파일에 포함되어야합니다. 물론 런타임에 다른 파일에서로드 할 수도 있지만 이것이 아닌 옵션이라고 생각합니다. 내 해결 방법이 괜찮다고 생각하니, 아니면 너무 못생긴다고 생각하십니까? 단일 사용자 정의 속성을 추가하는 방법을 볼 수있는 몇 가지 예제가 있지만 전체 컨테이너 (항목 또는 테이블의 목록)를 추가하려는 경우 이것이 다른 것이라고 생각합니다. 그러나 .ui 파일에 포함 시키면 전체 모델/뷰 개념에 위배 될 수 있습니다.
도움을 환영합니다!
덕분에, 마티아스