Qt quick ApplicationWindow 'color' для цвета фона не работает
Я создал простое приложение Qt quick с одним главным.qml, который похож на приведенный ниже код. Проблема в том, что цвет фона окна не был установлен в #ffffff, вместо этого он установлен в светло-серый (цвет окна по умолчанию на Windows, я думал). Цвет прямоугольника задан правильно.
Я использую Qt Creator 3.3.1 (opensource) на основе Qt 5.4.1 в windows.
import QtQuick 2.4
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.3
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
ApplicationWindow {
title: qsTr("Hello")
width: 200
height: 200
visible: true
color: "#FFFFFF"
Rectangle {
id: rectangle1
width: 100
height: 100
color: "#ffffff"
}
}
1 ответ:
ApplicationWindowStyleТип QML обеспечивает стиль дляApplicationWindow. По умолчаниюApplicationWindowStyleпредставить фон в виде:background: Rectangle { visible: !styleData.hasColor color: SystemPaletteSingleton.window(true) }
styleData.hasColorсвойство определяется как:property QtObject styleData: QtObject { readonly property bool hasColor: window.color != "#ffffff" }Итак, если ваш
ApplicationWindowЦвет#FFFFFF, вы видите светло-серый прямоугольник на фоне окна.Чтобы сделать белый фон, вам нужно установить пользовательский
ApplicationWindowStyle.ApplicationWindow { visible: true width: 640 height: 480 style: ApplicationWindowStyle { background: Rectangle { color: "#FFFFFF" } } }
Comments