c++ - 使用 Qt ItemDelegate

标签 c++ qt

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

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

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

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

通过这样做,这将符合 View ,但我需要在我的委托(delegate)中重新实现哪个 fnc 才能实现这一点? (我的意思是将这个修改后的字符串发送到 View )
我尝试对字符串进行的另一个修改是加粗文件名并将路径的其余部分变灰,同样这需要在委托(delegate)中完成,但在哪个函数中?油漆?

最佳答案

来自 QStyledItemDelegate documentation :

子类化 QStyledItemDelegate

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

我建议重新实现两者。

关于c++ - 使用 Qt ItemDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9749160/

相关文章:

c++ - 移动/拖动无框窗口? [Qt]

android - Qt Quick Controls 2 启动画面

c++ - 使用 QProcess 向服务器发送命令

c++ - 使用 regex_search

c++ - 同时使用普通运算符和重载运算符

c++ - 编译器会优化掉未使用的链接文件吗?

c++ - R包错误错误: ‘std::Rf_beta’ has not been declared #define beta Rf_beta

c++ - [std::streampos] 可以隐式转换为 [size_t] 吗?

c++ - QThread 和 QTcpSocket

html - 文本对齐在 QTextDocument 的 setHTML 中不起作用?