2012-01-03 95 views
0

所以我想解決如何設計我的線框。它基本上只有兩個QScrollAreas,一個在另一個上面,每個都有一個頭部(和頭部內的按鈕)。創建自定義Qt構件或實現現有的構件?

裏面的滾動區域的一個設計,我希望有類似QListWidgetItems的列表中的項目,但他們將不得不在右

左側一個小的圖片,描述在的另一種設計滾動區域,我想只需填充顏色或圖案/圖像的矩形。他們都需要可選擇併發出點擊信號。

我應該採用類方法,並創建一個新類作爲自定義小部件嗎?實現QWidget,並計算應放置的位置,改變鼠標事件的背景顏色/不透明度等。還是有另一種方法我應該採取這個?從我讀過的內容來看,創建自定義小部件是一件非常痛苦的事情。

下面是我想要設計的線框 - 有什麼可以做的工作嗎?如果不是,我應該如何去設計這些?我想過使用幾個QListWidgets或QTreeWidgets,但他們不會完成我所尋找的一切。

Wireframes of custom "widgets"

+0

我剛剛注意到了QItemDelegate - 這是我應該使用的東西嗎? – giraffee 2012-01-04 02:59:34

回答

1

我選擇採取不同的方法。而不是一個列表或QScrollArea,我只是採取一個QGraphicsView並繪製我自己的對象。我需要它來處理更多的交互(左鍵和右鍵,它內部的小按鈕等)。當我更好地理解它時,我可以將它實現爲QListView,但現在,這將工作。

0

我想你可以創建自己的QWidget爲基礎的控制。對於標題部分只需拖動一個標籤和一個按鈕,對於其他部分,您可以使用QListWidget或QListView與自定義單元格

+0

對不起,我不能說我是Qt小部件的專家 - 你會推薦一個基於QWidget的新類嗎?並計算方向? 至於QListView/QListWiget - 任何想法如何創建具有與默認完全不同的外觀的自定義單元格? – giraffee 2012-01-03 04:34:07