【发布时间】:2021-10-15 22:53:34
【问题描述】:
我希望在光标移动时在光标事件上持续显示文本,而不是取决于光标位置。为此,我使用了 Qtooltip。这是显示文本的代码:
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
// ...
}
bool Widget::event (QEvent *ev)
{
if (event->type() == QEvent::ToolTip) {
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(ev);
QToolTip::showText(helpEvent->globalPos(), "Something got it");
return false;
}
return QWidget::event(ev);
}
但是当我运行这段代码时,文本显示不一致,它只是偶尔显示,移动光标时消失,整个窗口闪烁。
【问题讨论】:
-
但是工具提示的标准是在光标位置显示。请编辑您的问题以准确说明您期望的行为。
-
@Baumflaum 我怀疑问题是工具提示在光标位置弹出并保持静止直到它消失,而 OP 希望工具提示小部件跟踪鼠标移动,文本随着小部件不断更新进入/离开。也许OP可以澄清。
-
请详细说明“一致地显示文本”的含义。这绝对不清楚。
-
您没有尝试在鼠标移动等其他事件处理程序上显示工具提示吗?
-
无论光标位置在哪里,我都需要不断地在光标上显示准确的文本。我需要文本随着屏幕上的光标移动。 QTooltip 方法仅在特定位置或当鼠标悬停在小部件上发生事件时显示文本。但我需要的是在光标在 Qwindow 上移动时在光标附近显示一个常量文本。