QToolTip設定樣式的三種方法
阿新 • • 發佈:2019-02-10
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);