【问题标题】:QDockWidget float/close button hover imagesQDockWidget 浮动/关闭按钮悬停图像
【发布时间】:2015-11-15 16:18:36
【问题描述】:

有没有办法在样式表中更改 QDockWidget(Qt 4.8) 的悬停/按下图标?我正在使用这种样式来更改默认状态的按钮图像:

QDockWidget{
    font-weight: bold;
    titlebar-close-icon: url(:/icons/ui-dock-close-off.png);
    titlebar-normal-icon: url(:/icons/ui-dock-float-off.png);
}

我尝试了几种不同的方法,但似乎都没有奏效。

QDockWidget::float-button:hover{
    image: url(:/icons/icons/ui-dock-float-hover.png);
}

QAbstractButton#qt_dockwidget_floatbutton{
    image: url(:/icons/icons/ui-dock-float-hover.png);
}

【问题讨论】:

    标签: qt qt4 qtstylesheets qdockwidget


    【解决方案1】:

    我只需要自己完成这项工作。我发现 QDockWidget 的默认标题栏的 qss 行为非常奇怪。

    底部是适合我的最终结果,但首先需要解释一下。

    第一件事是使用“图像”设置来设置图标不允许设置图标的大小,并且最终会缩小到最小。因此,我无法按照自己的意愿使用“titlebar-close-icon: none”。

    第二个是您将无法将“QDockWidget::close-button:hover”的“图像”设置与“titlebar-close-icon”设置配对使用,因为“悬停”图像将被绘制在图标的后面。这可能是您在给定示例中没有看到预期结果的原因。

    我最终在下面做的是设置一个“空白”(完全透明)png作为图标,这意味着我可以使用“图标大小”设置来控制按钮的大小。然后我为按钮设置“图像”,并利用“悬停”子设置来处理我突出显示的图标。

    最后,我发现(至少在我的环境中)图标更改不会保持不变,除非小部件浮动然后重新停靠,此时图标全部存在并被考虑在内。我为解决这个问题所做的只是在应用样式后调用 setFloating(True) 和 setFloating(False) 。没有可见的闪烁或任何我能看到的东西,所以我会用它。

    QDockWidget { 
        background: rgb(36,38,41);
        titlebar-close-icon: url(:icons/blank.png);
        titlebar-normal-icon: url(:icons/blank.png);
    }
    
    QDockWidget::title {
        background: transparent; 
        color: transparent; 
        text-align: center;
        border: none;
    }
    
    QDockWidget::close-button, QDockWidget::float-button {
        border: none;
        background: transparent;
        icon-size: 12px;
        padding: 1px;
    }
    
    QDockWidget::float-button {
        image: url(:icons/undock.png);
    }
    
    QDockWidget::close-button {
        image: url(:icons/close.png);
    }
    
    QDockWidget::float-button:hover {
        image: url(:icons/undock_hover.png);
    }
    
    QDockWidget::close-button:hover {
        image: url(:icons/close_hover.png);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-02-12
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 2011-03-13
      相关资源
      最近更新 更多