Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt快速应用程序窗口';颜色';对于背景色不';行不通_Qt_Background Color_Applicationwindow - Fatal编程技术网

Qt快速应用程序窗口';颜色';对于背景色不';行不通

Qt快速应用程序窗口';颜色';对于背景色不';行不通,qt,background-color,applicationwindow,Qt,Background Color,Applicationwindow,我用一个main.qml创建了一个简单的Qt快速应用程序,如下代码所示。问题是窗口的背景色没有设置为#ffffff,而是设置为浅灰色(我认为是窗口的默认颜色)。矩形的颜色设置正确 我在windows上使用基于Qt5.4.1的QtCreator3.3.1(开源) import QtQuick 2.4 import QtQuick.Layouts 1.1 import QtQuick.Controls.Styles 1.3 import QtQuick.Controls 1.3 import QtQ

我用一个main.qml创建了一个简单的Qt快速应用程序,如下代码所示。问题是窗口的背景色没有设置为
#ffffff
,而是设置为浅灰色(我认为是窗口的默认颜色)。矩形的颜色设置正确

我在windows上使用基于Qt5.4.1的QtCreator3.3.1(开源)

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"
    }
}

ApplicationWindowStyle
QML类型为
ApplicationWindow
提供样式。违约
ApplicationWindowsStyle
将背景表示为:

background: Rectangle {
        visible: !styleData.hasColor
        color: SystemPaletteSingleton.window(true)
}
styleData.hasColor
属性定义为:

property QtObject styleData: QtObject {
    readonly property bool hasColor: window.color != "#ffffff"
}
因此,如果您的
应用程序窗口
颜色为
#FFFFFF
,您将看到窗口背景上的浅灰色矩形

要制作白色背景,需要设置自定义
ApplicationWindowStyle

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    style: ApplicationWindowStyle {
        background: Rectangle {
            color: "#FFFFFF"
        }
    }
}

谢谢你解释它是如何工作的。顺便说一句,任何我可以在Qt文档网站或其他网站上找到此类详细信息的建议。在问这个问题之前,我做了一些搜索,但没有发现任何有用的东西。我不熟悉Qt:)谢谢。@zhangwt您可以在上查看Qt源代码。Qt设计器不识别这些属性正常吗?文本编辑器一直将“style”标记为无效的属性名称,QMLJS设计器将不再显示布局。但是,当我编译它时,它运行良好。@Daniel Saner@DanielSaner使用“import QtQuick.Controls.Styles 1.4”为我解决了无法识别的属性问题(以前我使用的是1.2)。