1. 程式人生 > >QToolTip設定樣式的三種方法

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);