这是任务管理器中标志的Qt qml错误吗?

时间:2017-02-21 02:14:09

标签: c++ qt qml

我的应用程序总是在后台进程中运行,我花了很长时间来检查这种情况发生的原因,因为我认为一旦我的应用程序运行,它应该显示在任务管理器的应用程序中。 enter image description here

这是我的测试代码:

import QtQuick 2.6 import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    color: "red"
    title: qsTr("Hello World")
    flags: Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint }

最后我发现是否删除了

  

标志:Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint

该应用程序在应用程序中运行,但我无法设置我的应用程序无框架并始终位于顶部。如果我想在任务管理器中的应用程序中运行我的应用程序,我该怎么办?

enter image description here

1 个答案:

答案 0 :(得分:0)

要让您的应用程序显示为应用程序,您需要一个不是无框架的窗口。所以你的问题很容易解决,通过添加另一个窗口,这不是无框架的,除了你的无框架之外:

Window {
    visible: true // No flags, but visible: Makes it appear as 'app'
    opacity: 0 // Makes the annoying popup at the beginning invisible
    Window {
        id: root
        width: 640
        height: 480
        visible: true
        flags: Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint
        color: 'black'
        Row {
            anchors.centerIn: parent
            spacing: 2
            Button {
                text: 'flags'
                onClicked: console.log(root.flags.toString(2))
            }
            Button {
                text: 'close'
                onClicked: Qt.quit()
            }
        }
    }
}