标签: applicationwindow

Qt快速ApplicationWindow'颜色'为背景颜色不起作用

我用一个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"
    }
}
Run Code Online (Sandbox Code Playgroud)

qt background-color applicationwindow

4
推荐指数
1
解决办法
6314
查看次数

使用 ApplicationWindow 时热重载 QML

有没有人能够在使用时热重新加载所有 QML 文件ApplicationWindow?我发现了一些例子,比如https://qml.guide/live-reloading-hot-reloading-qml/https://www.slideshare.net/ICSinc/how-best-to-realize-a-runtime-reload -of-qml,但大多数情况下他们使用Loader并且ApplicationWindow需要作为根项目,这不起作用(没有窗口出现)只是重新加载所有QML内容。

我试过:

ApplicationWindow {
    id: window
    visibility: "FullScreen"

    Shortcut {
        sequence: "F5"
        context: Qt.ApplicationShortcut
        onActivated: {
            window.close();
            app.loadQml();
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

app我在 C++ 端设置的上下文属性在哪里,该函数执行以下操作:

void App::loadQml()
{
    qml_engine_.clearComponentCache();
    // Use "qrc:/Main.qml" for Qt Resource System.
    // Use "Main.qml" for file system.
    qml_engine_.load(QUrl(QStringLiteral("Main.qml")));
}
Run Code Online (Sandbox Code Playgroud)

这段代码只能工作一次,窗口消失并重新出现,但快捷方式只能工作一次而不能第二次......

任何想法如何实现这一点?

qt reload applicationwindow qml hot-reload

4
推荐指数
1
解决办法
2284
查看次数

如何旋转/更改 ApplicationWindow QML 的方向?

我想默认将我的应用程序设置为 180 度方向。在 ApplicationWindow 级别旋转屏幕的 API 是什么?我的应用程序中有工具栏和状态栏,因此我需要旋转 ApplicationWindow 本身。

qt orientation applicationwindow qml

2
推荐指数
1
解决办法
4932
查看次数