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); 
  • 相关阅读:
    离愁
    梦想与生活
    神秘巨星
    Web用户控件
    Ajax
    php的基本语法与字符串与增删改查
    php建立方法
    jquery
    上传文件
    webfrom验证控件
  • 原文地址:https://www.cnblogs.com/findumars/p/4310045.html
Copyright © 2011-2022 走看看