gpt4 book ai didi

c++ - Qt - 当鼠标悬停在 QRect 对象上时弹出一个气泡

转载 作者:行者123 更新时间:2023-11-28 03:14:20 28 4
gpt4 key购买 nike

我的 QRect 对象是一个固定大小的纯文本容器,当文本太多时,我会截断文本并在末尾拖尾 ... 。例如,Longlonglonglong 被截断为 Longlong...。但是当鼠标指针悬停在矩形上时,我想在气泡中显示全长文本。

气泡就像Go to Google Home:
enter image description here

这可能吗?

最佳答案

不幸的是 QPainter 不能为你做那件事,drawText(..) 标志不支持它。值得庆幸的是,您可以使用 QFontMetrics 预先省略它的文本(“eliding”是用省略号截断的地方):

QFontMetrics fontM( QApplication::font() );
QRect r( 0, 0, 30, 10 );
QString text = "Longlonglonglong";
QString elidedText = fontM.elidedText( text, Qt::ElideRight, r.width() );

painter->drawText( r, Qt::AlignLeft, elidedText );

当您说“鼠标指针悬停时气泡中的文本”时,我认为您指的是工具提示 - 在这种情况下,像往常一样为小部件实现它并提供完整文本而不是省略的文本。

关于c++ - Qt - 当鼠标悬停在 QRect 对象上时弹出一个气泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17424654/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com