2017-09-02 76 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 
    } 
}