使用Qt ItemDelegate

时间:2012-03-17 10:20:14

标签: c++ qt

我正在尝试使用QStyledItemDelegate以便在列表视图中显示路径,以下是我这样做的原因,有路径:

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

和listView的宽度不够宽,无法显示完整路径,我正在尝试将路径字符串修改为:

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

通过这样做,这将适合视图,但我需要在我的委托中重新实现哪些fnc才能实现这一目标? (我的意思是将这个修改后的字符串发送到视图)
我正在尝试做的字符串的另一个修改是加载文件的名称并使路径的其余部分灰显,再次需要在委托中完成但在哪个函数中呢?油漆

1 个答案:

答案 0 :(得分:1)

来自QStyledItemDelegate documentation

子类化QStyledItemDelegate

如果委托不支持绘制您需要的数据类型,或者您想自定义项目的绘图,则需要继承QStyledItemDelegate,并重新实现paint()和可能sizeHint()paint()函数会针对每个项目单独调用,而使用sizeHint(),您可以为每个项目指定提示。

我建议重新实现两者。