2012-03-17 51 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()时,可以为每个项目指定提示。

我建议重新实现两者。