QToolTip设置样式的三种方法

1、控件样式表
代码:QToolTip{border: 0px solid;background:red;}"一定要加border属性样式表设置才会生效
这里写图片描述

2、代码样式表
控件或全局皆可:
全局:qApp->setStyleSheet("QToolTip{border: 0px solid black;background:red;}");
控件:QLabel m_label; m_label->setStyleSheet("QToolTip{border: 0px solid black;background:red;}");

3、有时候使用第三方控件时,上述方法都无效,采取HTML方法:
例如,使用Qcustomplot时,Qcustomplot控件的样式表设置达不到设定的效果。(后来发现设置Qcustomplot控件的父控件样式可以实现效果)

     QString st = "<b style=\"background:white;color:black;\">%1</b>";
    QToolTip::showText(event->pos(),st.arg("5566"),this);

注:因为是自定义的QWidget派生类,需要对paintEvent添加一些代码,才能使得在Qt Designer里通过StyleSheet更改背景颜色(background-color)生效。需要添加的代码如下:

QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);

猜你喜欢

转载自blog.csdn.net/qq_40194498/article/details/80360266