zoukankan      html  css  js  c++  java
  • Qt qss 动态属性-不同条件不同显示

    一、

    1.为了用户界面外观的动态变化,属性选择器可以与动态属性组合使用。

    2.当一个属性值变化时,所引用的样式不会自动更新。相反地,必须手动触发更新才会生效。
    unpolish()用于清理之前的样式,而polish()则用于添加新的样式。

    二、使用举例

      qss

    QFrame#frmPreImg[selected=false]{
        border:none;
        background-color:#D8DFEA;
    }
    QFrame#frmPreImg[selected=true]{
        border:4px solid #32CD32;
        background-color:#D8DFEA;
    }

    使用

          m_frmPreImg1->setProperty("selected",true);
          m_frmPreImg1->style()->unpolish(m_frmPreImg1);
          m_frmPreImg1->style()->polish(m_frmPreImg1);

    m_frmPreImg1->update();

    qss

    QLabel#lblConnectStatusStyle[connected="close"]{
        background:url(:/images/gray.png) no-repeat;
    }
    QLabel#lblConnectStatusStyle[connected="ok"]{
        background:url(:/images/green.png) no-repeat;
    }
    void SerialPortWidget::showConnectStatus(bool isConnected)
    {
        if(isConnected)
        {
            lblConnectStatus->setProperty("connected","ok");
        }
        else
        {
           lblConnectStatus->setProperty("connected","close");
        }
        lblConnectStatus->style()->unpolish(lblConnectStatus);
        lblConnectStatus->style()->polish(lblConnectStatus);
        lblConnectStatus->update();
    }
  • 相关阅读:
    前端布局
    mysql默认数据库
    js 计算两个颜色之间的渐变色值 10个色值
    chrome network中的stalled阶段耗时含义
    linux软件源码安装与封装包安装
    如何分辨linux文件颜色
    linux 文件权限
    linux端口查看
    suse linux光盘挂载
    记一次tortoiese git误提交的问题
  • 原文地址:https://www.cnblogs.com/ike_li/p/11543601.html
Copyright © 2011-2022 走看看