2012-03-17 50 views
0

我想以我的列表視圖中顯示的路徑使用QStyledItemDelegate,以下是我爲什麼這樣做的原因,有路徑:使用Qt ItemDelegate

C:\some_path\another_path\and_another_path\and_filnally_some_file.txt 

和ListView具有寬度這是不夠寬,以顯示完整路徑,我試圖修改路徑字符串:

C:\...\and_another_path\and_filnally_some_file.txt  

,並通過這樣做,這將融入看法,但FNC我需要在我的委託,以重新實現爲了達到那個目的? (我的意思是發送這個修改過的字符串到視圖)
對字符串的另一種修改我試圖做的是擴大文件的名稱和灰色的路徑的其餘部分,再次這需要在委託,但在哪些功能?塗料?

+0

是的,你必須重新實現'繪製'功能 – Lol4t0 2012-03-17 10:36:10

+0

#Lol4t0但我看不到任何地方在繪製函數參數引用這個字符串我試圖修改。我的意思是數據將由我想的模型返回,但如何捕獲它? – smallB 2012-03-17 10:43:05

+0

你被賦予'const QModelIndex&index'來獲取數據 – Lol4t0 2012-03-17 11:26:50

回答

1

QStyledItemDelegate documentation

子類QStyledItemDelegate

如果代理不支持您所需要的數據類型的繪畫或要自定義項目的圖,你需要繼承QStyledItemDelegate,並重新實現paint()和可能的sizeHint()paint()函數是針對每個項目單獨調用的,並且使用sizeHint()時,可以爲每個項目指定提示。

我建議重新實現兩者。