c++ - 如何创建具有独特形状的自定义、即时、箭头形工具提示?
问题描述
在当今的许多网页上,您经常会看到带有指向其目标的箭头的即时工具提示,类似于:
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
来指定小部件的自定义形状。此外,您必须将小部件的窗口标志设置为包含Qt::ToolTip
.
推荐阅读
- sql - 查找字段值是否更新的逻辑
- ruby-on-rails - 如何将 Google 云存储用于我的 rails 应用程序?
- express - 密钥通过但邮递员验证失败
- vb.net - 如何使用 VB 从 Windows 窗体应用程序在 Outlook 中创建文件夹
- javascript - 如何在 javascript 中为 tensorflow 加载本地图像
- javascript - 由于在 html 表中导入的数据来自 JSON 文件,如何在 javascript 中添加按钮
- wordpress - jetpack 在 wordpress 中处于离线模式。如何启用它并连接到我们的 wordpress.com 帐户
- javascript - 如何在使用反应钩子的 setState 方法之后访问更新的状态?
- python - 如何用 Pandas DataFrame 中先前值的一些变化替换 NaN?
- android - 如何在Android Room数据库中组合两个不同的字段,其中(“valueA”,“valueB”),(“valueB”,“valueA”)是1个条目