Стиль материала в Qml не загружает цвета - PullRequest
0 голосов
/ 17 ноября 2018

я использовал методы здесь , чтобы использовать дизайн материала в моем проекте QtQuick, и использовал Accent и Themes из здесь правильно контролирует загрузку в стиле материала в обычных файлах qml, но в загруженных файлах qml по результатам загрузчика выглядит так:

image of button
этот загрузчик находится в main.qml:

Loader{
    id:myLoader
    anchors.fill: parent
    source: "LoginPage.qml"
}

и вот мой динамический файл qml

import QtQuick 2.8
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.3
import QtGraphicalEffects 1.0
Rectangle{
    Material.theme: Material.Dark
    Material.accent: Material.Teal
    property string error_msg: ""
    id: loginPage
    Button {
        id: button
        width: 80
        anchors.verticalCenter: parent.verticalCenter
        anchors.right: parent.right
        anchors.rightMargin: 0
        font.family: "B Nazanin"
        enabled: webView.loadProgress == 100 ? true:false
        KeyNavigation.tab: button1
        Material.accent: Material.Orange

        onClicked: {
            login()
        }
    }
}

1 Ответ

0 голосов
/ 17 ноября 2018

Предполагается, что темнота имеет темный фон.Он не будет устанавливать для вас фон окна, он влияет только на элементы управления графическим интерфейсом.И кнопка, в частности, не использует цвет акцента, только цвет переднего плана, если переключатель не включен, в этом случае он будет использовать цвет акцента, чтобы обозначить это.

  Material.theme: Material.Dark
  Material.accent: Material.Teal


  Rectangle {
    anchors.fill: r2
    color: "#262626"
  }

  Row {
    id: r1
    Button {
      text: "test"
      checkable: true
      Material.accent: Material.Orange
    }
    Button {
      text: "test"
      checkable: true
    }
  }

  Rectangle {
    anchors.fill: r2
  }

  Row {
    id: r2
    anchors.top: r1.bottom
    Button {
      text: "test"
      checkable: true
      Material.accent: Material.Orange
    }
    Button {
      text: "test"
      checkable: true
    }
  }

enter image description here

Как видите, на белом фоне кнопка темной темы выглядит размытой и размытой.Если вы хотите установить цвет кнопки, это будет Material.background, тогда как текст будет Material.foreground.

...