2017-07-06 102 views
1

我應該在運行時設置Material樣式屬性,例如當用戶單擊定義的按鈕時更改主題值(明暗)。 我已經使用qtquickcontrols2.conf及其屬性(主題,口音和主)配置了材質樣式。我無法導入QtQuick.Controls.Materials 2.0,因爲我不知道,但我正在使用QtCreator 4.0.2在Ubuntu上工作,並且未檢測到QtQuick.Controls.Materials和QtQuick.Controls.Universal導入。 我的目標是簡單地改變材質風格的主題,從淺到深,反之亦然。我怎樣才能整合這個功能?謝謝你的建議。Qml QtQuickControls2,在運行時更改樣式屬性

問候 丹尼爾

+0

您需要的Qt 5.7.0有可用的進口。你正在使用哪個Qt版本? – Mitch

回答

2

我無法導入QtQuick.Controls.Materials 2.0,因爲我不知道,但我工作在Ubuntu與QtCreator 4.0.2和QtQuick.Controls。未檢測到材料和QtQuick.Controls.Universal導入。

你至少需要的Qt 5.7.0爲了有Qt Quick Controls 2.0進口可用。

我的目標是簡單地改變材質風格的主題,從淺到深,反之亦然。

您在運行時切換主題是這樣的:

import QtQuick 2.7 
import QtQuick.Controls 2.0 
import QtQuick.Controls.Material 2.0 

ApplicationWindow { 
    id: window 
    width: 200 
    height: 200 
    visible: true 

    Material.theme: themeSwitch.checked ? Material.Dark : Material.Light 

    Switch { 
     id: themeSwitch 
     text: "Dark" 
     anchors.centerIn: parent 
    } 
} 

gif

+0

我已導入(導入QtQuick.Controls 2.0)但未檢測到(導入QtQuick.Controls.Material 2.0)(找不到Qml模塊)。我該如何解決?可能是qt創建者有一個bug。 – daniele86

+0

It Works!謝謝 – daniele86