我使用单个main.qml创建了一个简单的Qt快速应用程序,类似于下面的代码。问题是窗口的背景颜色未设置为#ffffff
,而是设置为浅灰色(我认为Windows上的窗口的默认颜色)。矩形的颜色设置正确。
我在Windows上使用基于Qt 5.4.1的Qt Creator 3.3.1(opensource)。
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"
}
}
答案 0 :(得分:7)
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"
}
}
}