Linux上的QML窗口FramelessWindowHint仍可调整大小

时间:2019-03-11 18:22:10

标签: qt qml qt5

我有以下示例:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 500
    height: 500
    title: qsTr("Hello World")

    flags: Qt.FramelessWindowHint | Qt.X11BypassWindowManagerHint

    TextEdit {
        id: name
        text: qsTr("text")
        readOnly: false
        width: 100
        height: 100
        anchors.centerIn: parent
    }

}

我想要实现的是一个无框架的窗口,无法按照文档中的建议调整大小,但是在Linux中,x11管理器将接管工作。解决尺寸调整问题的一种方法是将X11BypassWindowManagerHint指定为第二个标志。问题是使用后者时,无法再输入TextField。如何在Linux上解决该问题?

1 个答案:

答案 0 :(得分:2)

调用Window方法requestActivate以接收键盘焦点。

Window {
    ...
    Component.onCompleted: requestActivate()
}