2017-09-02 35 views
1

我试图设置Plasma组件的背景颜色,特别是KDE锁定屏幕中使用的键盘布局按钮。 (该按钮有时在浅色背景下显示不佳,所以我试图使其变暗)。设置工具按钮的背景颜色

这里的KeyboardLayoutButton.qml的全部内容,我想修改:

import QtQuick 2.1 
import QtQuick.Controls 1.1 as QQC 

import org.kde.plasma.components 2.0 as PlasmaComponents 

import org.kde.plasma.workspace.keyboardlayout 1.0 

PlasmaComponents.ToolButton { 
    id: kbLayoutButton 

    iconName: "input-keyboard" 
    implicitWidth: minimumWidth 
    text: layout.currentLayoutDisplayName 

    Accessible.name: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "Button to change keyboard layout", "Switch layout") 

    visible: layout.layouts.length > 1 

    onClicked: layout.nextLayout() 

    KeyboardLayout { 
      id: layout 
       function nextLayout() { 
       var layouts = layout.layouts; 
       var index = (layouts.indexOf(layout.currentLayout)+1) % layouts.length; 
       layout.currentLayout = layouts[index]; 
      } 
    } 
} 

现在我可以放置一个半透明的矩形kbLayoutButton,这是明显的存在,但它并不能改善按钮文字的可见性,因为它被放置在以上文字广告只会降低对比度。我想在下面放一个矩形这个按钮。

这是我的理解,我需要使按钮为彩色矩形的孩子。

Rectangle { 
    color: "black" 
    PlasmaComponents.ToolButton { 
    // full content of kbLayoutButton 
    } 
} 

但是,当我试图做到这一点,该按钮停止被完全看到。当我试图用Item包装它时,也是如此。

我对QML非常陌生,似乎无法找到任何线索。我如何设置背景?

回答

2

我对血浆成分并不熟悉,但您是否给Rectangle一个尺寸?试试这个:

Rectangle { 
    implicitWidth: toolButton.implicitWidth 
    implicitHeight: toolButton.implicitHeight 
    color: "black" 

    PlasmaComponents.ToolButton { 
     id: toolButton 
     // full content of kbLayoutButton 
    } 
}