QToolTip背景颜色不会被边框半径剪裁

问题描述 投票:4回答:1

我已经设计了这样的工具提示(不是那种颜色)

QToolTip {
    border: 1px solid blue;
    border-radius: 10px;
    background-color: red;
}

但背景没有剪裁在角落:

enter image description here

为什么不剪裁?

qt qtstylesheets qtooltip
1个回答
0
投票

在问到你的问题两年后,在同样的问题上挣扎,使用实验和坚持使用谷歌搜索,我得出以下结论:

  • 你不能只用css得到你想要的东西,而不是用小工具
  • QToolTip实际上是一个QLabel
  • 实现自定义工具提示是一项更多的工作,但只有一点:setAttribute(Qt::WA_TranslucentBackground); + setMask()工作正常,以及其他,更简单的方法来实现小部件透明度

最后,如果你真的喜欢它,递归地遍历widget的子节点并安装事件过滤器可能是一个充分的解决方案,如:

if (event->type() == QEvent::ToolTip) {
    QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);
    // Your code here
    return true;
}

如果你不希望到处都有这些工具提示,那就更容易了。有时您必须做类似的事情,将复杂的CSS样式从文件应用到动态创建的小部件,但无论如何,这不是“无代码解决方案”。唉,到目前为止找不到更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.