2010-03-03 330 views
2

是否可以在QTreeWidget中單獨縮進項目?單獨的QTreeWidgetItem縮進

具體來說,我有一個包含文本,圖標和其中一些CheckBox的列。沒有CheckBox的項目被移到左邊,所以圖標和文本的縮進與其他內容不一致。如果可能的話,也許可以用隱藏的CheckBox修復?

回答

0

也許代表的使用會給你一個很好和適當的實現。你必須重新實現的paint()和sizeHint()方法的機會,因此,選擇你的QTreeWidgetItem正在繪製的方式......

更多的文檔在這裏:http://doc.trolltech.com/4.6/model-view-delegate.html

一個例子: http://doc.trolltech.com/4.6/itemviews-pixelator.html

希望它有一點幫助!

+0

嗨,非常感謝您的意見。我目前沒有使用模型/視圖框架,只是普通的QTreeWidgetItems,所以我想我不能在這裏使用委託方法。但是,謝謝! – Magus 2010-03-03 12:21:51

+0

您可以將代表與QTreeWidgetItems一起使用 – Rafe 2012-09-22 00:50:16

0

您可以嘗試在由QTreeWidget::itemWidget()返回的小部件上使用QWidget::setContentMargins()

+0

嗨。非常感謝您的回覆。每當我嘗試使用QTreeWidget :: itemWidget()返回的QWidget時,我的應用程序崩潰。你知道爲什麼會發生?在項目層次結構設置之前,我不會調用它。 – Magus 2010-03-03 12:25:01

+1

呵呵,現在你說了,我記得QTreeWidget :: itemWidget()只有在用QTreeWidget :: setItemWidget()設置的時候纔會返回一個非NULL值。爲了解決你的問題,我想你必須創建自己的項目來顯示圖標,並手動輸入複選框/額外空間。 – gregseth 2010-03-03 13:19:06