c++ - QStyledItemDelegate 工具提示处理(+ 内部状态)
问题描述
我第一次使用“花式” QStyledItemDelegate 来绘制和控制 QTableView 列中的多个按钮。到目前为止,paint + editorEvent 方法非常好,但有两个小问题/未解决的想法:
我无法理解如何处理工具提示...找不到比 helpEvent 的 Qt 文档更明确的信息,但不知道如何使用它。我尝试使用 view->model()->setData(),但我的模型不应该是可编辑的,所以我想我可以在适当的时候“绘制”工具提示但不知道如何?
此外,我找到了一些解决方法,但我想检查是否忽略了另一种方法:我根据某些模型数据值绘制/处理不同按钮的事件。但是,似乎所有 QStyledItemDelegate 方法都是 const,因此我无法编辑内部数据(以避免绘制和 editorEvent 之间的代码重复,例如在绘制中设置标志并根据标志值对事件做出相应的反应......)。我错过了什么吗?(没有 createEditor/setEditorData 方法?)
解决方案
如果要显示表索引的工具提示,只需覆盖模型类的 data() 方法并返回 Qt::ToolTipRole 角色的文本。
推荐阅读
- javascript - 使用来自 API 响应的数据在 Nuxt JS 应用程序中的标签内注入动态内容
- c# - I want to filter the Select List. I want the drop down to only show the students which are enrolled to the same class as the class which is scheduled
- android - 苹果的“Live Photos”的文件格式和谷歌的“Motion Photos”一样吗?
- node.js - MacOS 上打包的电子应用程序不会产生子节点进程
- typescript - 使用泛型传递函数调用的编译问题
- content-security-policy - 内容安全策略:页面的设置阻止了内联资源的加载(“script-src”)
- node.js - 将 Application Insights 与本地 Node.js 应用程序一起使用
- java - 无法将来自 JSON 对象的变量存储在 Java 类中
- sql-server - 如何替换SQL中某些位置的字符
- ruby-on-rails - 使用 xml 和 html 格式发布测试报告 rails