2012-01-03 8 views
0

그래서 와이어 프레임을 디자인하는 방법을 알아 내려고 노력 중입니다. 그것은 본질적으로 두 개의 QScrollAreas 중 하나입니다. 각각은 머리말 (및 머리글 안의 단추)과 함께 하나씩 위에 있습니다.맞춤식 Qt 위젯을 만들거나 기존 위젯을 구현 하시겠습니까?

스크롤 영역 중 하나의 디자인 안에서, 나는 그러나 그들이의 또 다른 디자인의 오른쪽

에 작은 왼쪽 이미지 및 설명을 할 것이다, QListWidgetItems의 목록과 유사한 항목을 갖고 싶어 스크롤 영역, 난 사각형이나 색상/패턴/이미지로 가득 차면 좋겠다. 그들은 모두 선택 가능해야하고 클릭 신호를 내야합니다.

클래스 접근 방식을 사용하고 사용자 정의 위젯으로 작동하도록 새 클래스를 만들어야합니까? QWidget을 구현하고 마우스 이벤트에서 배경색/불투명도를 변경하는 등 모든 것을 배치해야하는 위치를 계산 하시겠습니까? 아니면 내가 취해야 할 또 다른 접근법이 있습니까? 내가 읽은 것부터 사용자 정의 위젯을 만드는 것은 절대적인 고통입니다.

다음은 내가 디자인하고 싶은 와이어 프레임입니다. 이미 작업을 수행 할 수있는 것이 있습니까? 그렇지 않다면 어떻게 설계해야합니까? 몇 가지 QListWidgets 또는 QTreeWidgets 사용에 대해 생각했지만, 내가 원하는 모든 것을 성취하지는 못했습니다.

Wireframes of custom "widgets"

+0

방금 ​​QItemDelegate를 알아 봤습니다. 제가해야 할 일이 무엇입니까? – giraffee

답변

1

대신 다른 접근 방법을 선택했습니다. 목록이나 QScrollArea 대신 QGraphicsView를 사용하여 내 개체를 그 안에 넣을 것입니다. 몇 가지 상호 작용 (왼쪽 및 오른쪽 클릭, 내부의 작은 버튼 등)을 처리해야합니다. 그것을 더 잘 이해할 때 QListView에 구현할 수도 있지만, 현재로서는이 방법이 유용 할 것입니다.

0

나는 당신이 당신의 자신의는 QWidget 기반 제어를 만들 수 있습니다 생각합니다. 머리글 부분에 대해서는 레이블과 버튼을 드래그하기 만하면 나머지는 QListWidget 또는 QListView를 사용자 정의 셀과 함께 사용할 수 있습니다.

+0

죄송 합니다만 Qt 위젯을 사용하는 전문가라고 말할 수는 없습니다. QWidget을 기반으로 한 새로운 클래스를 추천 해 주시겠습니까? 오리엔테이션을 계산 하시겠습니까? QListView/QListWiget의 경우 - 기본 설정과 크게 다른 모양을 가진 맞춤형 셀을 만드는 방법에 대한 아이디어가 있습니까? – giraffee