c++ - QTableView 当鼠标悬停时显示表格项的内容

标签 c++ qt qt5 qtableview

手机写的,可能格式不对。

我有一个带有QTableView 的表格,表格中有两列。第二列包含一个很长的字符串,如果不调整大小就无法完全显示。当我将鼠标悬停在一个项目上时,我想将字符串显示在一个矩形中,并且该矩形在鼠标附近(许多软件如Eclipse 和VS 都有此功能)。

我在网上搜索了一段时间,但仍然不知道如何编写此 View 功能。

enter image description here enter image description here

最佳答案

该死的。每个人都必须尝试以艰难的方式去做,并开始子类化东西并重新发明不需要它的东西。答案已经在Displaying tooltips in PyQT for a QTreeView item中了

答案是,在你的模型的 data() 函数中,在调用 'Qt::ToolTipRole;' 时只返回一些有用的东西在首先检查“index.column()”以确保它是正确的列之后。

这里有一些类似的愚蠢行为:

Show tooltips for long entries of your custom model

我会给他们一个疑问的好处,并假设 Qt 曾经以这种方式工作;但现在没有。他们有人制作这个自定义事件过滤器;而我为我的模型中的给定列返回了 ToolTipRole 的工具提示,并且工具提示仅显示在为其返回值的列中的单元格中。这完全是不必要的工作;现在不需要;它浪费时间。此 wiki 条目很可能只是过时了。

关于c++ - QTableView 当鼠标悬停时显示表格项的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431491/

相关文章:

c++ - 分析图表值

c++ - 如何以编程方式为 Qt 中的当前进程设置环境变量?

c++ - 为 QWidget 的私有(private)成员设置样式表

更改表修改列期间的mysql错误1062

fonts - 文本显示不正确 - 字符是正方形 - 未找到可疑字体

c++ - 使用Qt 5,C++和OpenCV从Linux创建可执行文件

c++ - 在 Mac 上找不到 Qt 库

c++ - 使用 fprintf 获取访问冲突写入位置 0x00000014

C++ 错误 : no matching function for call, G++ 编译器

c++ - 通过 Bazel 在 macOS 上构建和运行 Qt 应用程序