如何从 QToolTip 中删除阴影

Posted

技术标签:

【中文标题】如何从 QToolTip 中删除阴影【英文标题】:How to remove drop shadow from QToolTip 【发布时间】:2018-06-14 18:50:34 【问题描述】:

我想修改我的应用程序中所有工具提示窗口的样式。

以这个 QSS 为例:(你可以在 QtDesigner 应用程序中尝试)

QToolTip

    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: red;

给出这个结果:

我的问题是删除阴影效果,更具体地说是这里的白角:

我知道这可以通过更改 windows 标志来完成,但是有什么方法可以全局更改,我的意思是在某处设置正确的标志,然后所有应用程序都使用它来显示工具提示?

更改标志需要过滤所有小部件上的所有“工具提示”事件,以提供自定义 QToolTip 类。对于大型应用程序(大约 50 个 *.ui 表单)来说,这需要大量工作。

【问题讨论】:

【参考方案1】:

您可以尝试设置background-clip 属性:

QToolTip

    background-clip: border;
    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: red;

还有一个QToolTip 持有一个QLabel 来显示实际的文本。您可以尝试使用 QToolTip QLabel border: ...; 明确定位,并使实际的 QToolTip 背景透明。

【讨论】:

谢谢,但我还有黑角。我认为他是由操作系统 Windows 管理系统添加的,因为投影效果是 Windows 的一部分,而不是 Qt (AFAIK)

以上是关于如何从 QToolTip 中删除阴影的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap:如何从模态中删除框阴影?

如何从 TextInput 中删除阴影?

如何从导航栏中删除阴影线?

如何使 QToolTip 消息持久化?

如何快速从 UICollectionView 中的 UIView 中删除焦点阴影?

在 iOS 中应用模糊滤镜时如何从图像中删除黑色阴影矩形?