zoukankan      html  css  js  c++  java
  • QSS 样式示例:QTreeWidget, QComboBox,QSlider,QSpinBox


    最近需要对一个软件加上Qt界面和 的样式,第一次使用CSS/QSS,很多东西都是现查现用。现在把一些样式的配置记录下来备查。

    Image 填充整个控件的区域

    border-image 会填充整个控件的区域, image会按照实际大小加载,background-image 会多次重复填充整个区域

    QTreeWidget

    QTreeWidget

    TreeWidget的 checkbox 是由 indicator控制的, 展开/合起的是branch。实例化的QTreeWidget对象为 cam_treeWidget

    附上代码:

    #cam_treeWidget{
        font: 15px "ubuntu";
    }
    
    #cam_treeWidget::focus{
        outline: none;
    }
    #cam_treeWidget::item:selected{
        border:1px solid transparent;
        font: 15px "ubuntu";
        color:#51637e; 
    }
    
    #cam_treeWidget::indicator:checked{
        image: url(:/element/element/checkbox_checked.png);
    }
    
    #cam_treeWidget::indicator:unchecked{
        image: url(:/element/element/checkbox_unchecked.png);
    }
    
    
    #cam_treeWidget::branch {
            background: white;
    }
    #cam_treeWidget::branch:closed:has-children{
        image:url(:/element/element/close.png);
    }
    
    #cam_treeWidget::branch::open::has-children{
        image:url(:/element/element/open2.png);
    }
    

    QSpinbox 的上翻下翻按钮和箭头

    分别由 up-button down-button 和 up-arrow down-arrow 子控件控制

    image

    QDoubleSpinBox::up-button{
        border:transparent;
    }
    QDoubleSpinBox::down-button{
        border:transparent;
    }
    
    QDoubleSpinBox::up-arrow{
        image:url(:/element/element/up_arrow.png);
    }
    QDoubleSpinBox::down-arrow{
        image:url(:/element/element/down_arrow.png);
    }
    

    QComboBox 的设置,大坑

    image

    QComboBox{
        background-color:#ffffff;
        font: 15px "ubuntu";
        color:#51637e;
        margin:0px;
        border: 1px solid #f0ebeb;
    }
    
    QComboBox::drop-down{
        border:transparent;   
    }
    QComboBox::down-arrow{
        image:url(:/element/element/open.png);
    }
    
    

    如果这里不设置 margin 或者设置padding,字的颜色就没法生效,不知道为什么?只好先记录下来

    QSlider

    滑块使用 handle 子控件设置的,未被划过的地方使 add-page 子控件设置的, 被划过的地方使用sub-page子控件设置。

    image

    QSlider::handle:horizontal {
        border-image:url(:/element/element/slider_handle.png);
         13px;
        height:20px;
    }
    
    
    QSlider::add-page:horizontal{
        border: 1px solid #999999;
        height: 8px;
        background:transparent;
    }
    
    QSlider::sub-page:horizontal{                               
        border: 1px solid #999999;
        height: 8px;
        background: #8097b8            
    }
    
    著作权声明:本文系作者原创,欢迎转载分享,转载请标明来源。
  • 相关阅读:
    校验函数
    声明
    主程序(开始检查)
    活代码LINQ——09
    活代码LINQ——08
    活代码LINQ——07
    活代码LINQ——06
    活代码LINQ——05
    活代码LINQ——04
    活代码LINQ——03
  • 原文地址:https://www.cnblogs.com/sunchaothu/p/9601298.html
Copyright © 2011-2022 走看看