微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QStyledItemDelegate 工具提示处理+ 内部状态

如何解决QStyledItemDelegate 工具提示处理+ 内部状态

我第一次使用“花哨的”qstyledItemDelegate 来绘制和控制 QTableView 列中的多个按钮。 到目前为止,paint + editorEvent 方法很好,但有两个小问题/未解决的想法:

  • 我无法理解如何处理工具提示...找不到比 helpEvent 的 Qt 文档更明确的信息,但不确定如何使用它。我尝试使用 view->model()->setData(),但我的模型不应该是可编辑的,所以我想我可以在适当的时候“绘制”工具提示,但不知道如何?

  • 此外,我找到了一些解决方法,但我想检查一下我是否忽略了另一种方法:我根据某些模型数据值绘制/处理不同按钮的事件。但是,似乎所有 qstyledItemDelegate 方法都是常量,因此我无法编辑内部数据(以避免paint和editorEvent之间的代码重复,例如在paint中设置标志并根据标志值对事件做出相应反应......)。我错过了什么吗? (没有 createEditor/setEditorData 方法?)

解决方法

如果您想显示表格索引的工具提示,只需覆盖模型类的 data() 方法并返回 Qt::ToolTipRole 角色的文本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。