QLabel Qt/c++ 文本的渐变颜色

2023-12-24

我尝试为 QLabel 文本设置渐变颜色。我正在尝试使用 setStyleSheet 函数,但它不起作用。我阅读这篇文章 https://www.qtcentre.org/threads/32781-don-t-work-qlineargradient-for-text-in-QLabel但仍然无法得到工作解决方案。

这是我的代码

void MyClass::setTitle(const QString& text)
{
    m_text = text;
    m_titleText->setText(text);
    QFont font = m_titleText->font();
    font.setPointSize(12);
    m_titleText->setFont(font);
    m_titleText->setStyleSheet("color: qlineargradient(x1: 0, y1: 0,    x2: 0, y2: 1,    #3d5afe: 0 #66e, stop: 1 #fd3e7f);")
}

这个问题有什么解决办法吗? 提前致谢。


你可以试试这个。

   void MyClass::setTitle(const QString& text)
    {
        m_text = text;
        m_titleText->setText(text);
        QFont font = m_titleText->font();
        font.setPointSize(12);
        m_titleText->setFont(font);
        QPalette labelPal;
        QLinearGradient colorGradient = QLinearGradient(0, 0, m_titleText->width(), 0);
        colorGradient.setSpread(QGradient::RepeatSpread);
        colorGradient.setColorAt(0, QColor("#3d5afe"));
        colorGradient.setColorAt(1, QColor("#fd3e7f"));
        QBrush brush(colorGradient);
        labelPal.setBrush(QPalette::ColorRole::Text, brush);
    
        m_titleText->setPalette(labelPal);
        m_titleText->setForegroundRole(QPalette::Text);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QLabel Qt/c++ 文本的渐变颜色 的相关文章

随机推荐