Размер окна QML FramelessWindowHint в Linux по-прежнему можно изменять - PullRequest
1 голос
/ 11 марта 2019

У меня есть пример ниже:

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 Ответ

2 голосов
/ 11 марта 2019

Вызов Window метод requestActivate для получения фокуса клавиатуры.

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