zoukankan      html  css  js  c++  java
  • 动态改变QSS

    通常,一旦设置使用setObjectName来初始设置QSS:

        list_widget = new QListWidget();
        list_widget->setObjectName("redList");

    但是一旦设置以后,就无法再次改变了,可以采用这个办法:

    void SelectExtDialog::addExt()
    {
        style()->unpolish(list_widget);  
        if (exclude_check->isChecked()) 
            list_widget->setObjectName("redList");
        else 
            list_widget->setObjectName("greenList");
        style()->polish(list_widget);
    }

    参考:http://stackoverflow.com/questions/9066669/qt-setting-new-objectname-for-a-control-to-style-differently

    ----------------------------------------------------------------

    另外,也可直接使用setStyleSheet设置风格,只是这样不能使用QSS的外部文件来控制全局(可在程序里控制):

        QString styleStr = "QListWidget::item{background-color:green}QListWidget::item:hover{background-color:rgb(61, 77, 83);}"; // 淡灰色,还挺好看
        list_widget->setStyleSheet(styleStr); 
  • 相关阅读:
    11.2
    11.1
    10.31JS中级
    10.24
    动画运动
    操作js的样式
    js
    js元素属性
    js轮播
    js计时器
  • 原文地址:https://www.cnblogs.com/findumars/p/4310045.html
Copyright © 2011-2022 走看看