如何创建具有独特形状的自定义、即时、箭头形工具提示?

How to Create Custom, Instant, Arrow-Shaped ToolTip with unique shape?

如今在许多网页上,您会经常看到带有指向目标的箭头的即时工具提示,类似于:

https://www.w3schools.com/css/tryit.asp?filename=trycss_tooltip_arrow_bottom

(更具体地说,我正在寻找类似的东西:https://www.youtube.com/watch?v=0Jedht9Arec

您将如何在 QT 中准确地复制它?我不一定要寻找超级自动化的东西,只是可以给定一个出现位置的东西,以及一个函数调用来删除它。此外,如果可能的话,它应该有弯曲的、消除锯齿的角。

我试过使用自定义 QToolTip,但它的行为不符合我的标准。我也尝试过带有 Popup 标志的自定义 QDialog,但它冻结了上面显示的对话框。

关于如何进行的任何建议?


根据下面两条评论的要求,这里是之前引用的 QDialog 场景的代码。做好准备,很多:

// Assuming "this" is the parent dialog
QDialog* popup = new QDialog(this, Qt::Popup);
popup->show();

此代码阻止了父对话框("this" 对象)的鼠标悬停事件,因此不适合作为工具提示的替代品。

您可以使用 QWidget::setMask to specify custom shape of a widget. Additionally you'll have to set widget's window flags to include Qt::ToolTip