• 620阅读
  • 7回复

[讨论]关于QToolTip对行提示信息显示的问题 [复制链接]

上一主题 下一主题
离线lwei24
 

只看楼主 倒序阅读 楼主  发表于: 2023-08-07
目前,在项目中用到QLIstView,希望鼠标移动到每个项时,会显示该项的基本信息,这些基本信息可能很多。各位大佬,请问你们在用QToolTip时,是如何让它显示多行提示信息的呢?是通过自定义重绘,还是通过qss或html的方式去实现呢?不知道各位大佬能不能提示一下,或者给些例子参考参考呢?欢迎大佬们指点一二,小弟在此感激不尽!!!
离线spygg

只看该作者 1楼 发表于: 2023-08-07
尝试用html 中的 <br/> 进行换行
如果是纯文本就行尾加 \n
签名就是这么浪
离线lwei24

只看该作者 2楼 发表于: 2023-08-07
回 spygg 的帖子
spygg:尝试用html 中的 <br/> 进行换行
如果是纯文本就行尾加 \n (2023-08-07 10:32) 

哦哦,好的,多谢,已试过,请问QToolTip的提示窗口能自定义大小吗?
离线lwei24

只看该作者 3楼 发表于: 2023-08-07
回 spygg 的帖子
spygg:尝试用html 中的 <br/> 进行换行
如果是纯文本就行尾加 \n (2023-08-07 10:32) 

还有就是想每次鼠标移动到该item项时,提示信息框自动显示在该item的下面,即这个信息提示框的位置有什么办法可以让它能计算并使得它显示在下侧吗?从QToolTip这个类来看,似乎没有提供任何关于它的大小或位置的方法,并且也没有继承QObject
离线zy1233

只看该作者 4楼 发表于: 2023-08-07
你是怎么显示tooltip的?如果是QStandardItem::setToolTip,或者SetData(Qt::ToolTipRole),直接在内容加/n就行,tip的位置大小会自动调整的
离线lwei24

只看该作者 5楼 发表于: 2023-08-07
回 zy1233 的帖子
zy1233:你是怎么显示tooltip的?如果是QStandardItem::setToolTip,或者SetData(Qt::ToolTipRole),直接在内容加/n就行,tip的位置大小会自动调整的 (2023-08-07 13:41) 

哦哦,我是通过QListView::entered信号触发后,然后调用QToolTip。刚刚试了您说的通过QStandardItem::setToolTip似乎更方便。而这个setData(Qt::ToolTipRole)是不是要重写模型才可以呢?虽然您说的第一种方法tip的位置大小会自动调整,基本满足目前我需要的,只不过,我想问问看,有没有办法能将tip的位置计算按照自己的距离固定在每个item下面某个位置?
离线zy1233

只看该作者 6楼 发表于: 2023-08-07
QStandardItem::setToolTip()本质上也是调用QStandardItemModel的setData(Qt::ToolTipRole)实现的,QStandardItemModel提供了ToolTip相关的函数。如果你要自己计算位置,QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w, const QRect &rect, int msecDisplayTime),这个重载可以自己设置位置pos,和大小rect。
离线lwei24

只看该作者 7楼 发表于: 2023-08-07
回 zy1233 的帖子
zy1233:QStandardItem::setToolTip()本质上也是调用QStandardItemModel的setData(Qt::ToolTipRole)实现的,QStandardItemModel提供了ToolTip相关的函数。如果你要自己计算位置,QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w, const QRect &rect,  .. (2023-08-07 14:07) 

哦哦,其实我之前试过这个,没有成功,可能是我没使用对吧。那我再试试,多谢了!!!
快速回复
限100 字节
 
上一个 下一个