Расположение диалогового окна QML в ApplicationWindow

Я нахожу невозможным разместить диалог в центре моего ApplicationWindow в QT 5.12.

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Dialogs 1.2


ApplicationWindow {

    id:mainApplicationWindow
    visible: true
    height: 500
    width: 500


  Item {
      anchors.centerIn: parent
      MainWindowMessageDialog{
          id: messageDialog
      }
  }

  Component.onCompleted: {
      messageDialog.open()
  }
}

С MainWindowMessageDialog.qml

import QtQuick 2.0
import QtQuick.Dialogs 1.2

Dialog {
    title: "There seems to be a problem"
    standardButtons: StandardButton.Ok
    onAccepted: {
        this.close()
    }
}

Дает мне изображение ниже. Я пробовал добавить фиксированную позицию по оси z, но, похоже, ничто не сдвигает диалог вниз в окно. Я пробовал MainWindowMessageDialog отдельно от элемента. Кажется, ничего не меняет? Я что-то упускаю?

введите описание изображения здесь


person CitizenFish    schedule 01.04.2020    source источник
comment
Странно, похоже на ошибку в Mac OS (невозможно воспроизвести в Win 10). Вы можете преодолеть это, используя диалог из Qt Quick Controls 2 (import QtQuick.Controls 2.5) вместо QtQuick.Dialogs или MessageDialog из Qt.labs.platform 1.1.   -  person doc    schedule 02.04.2020


Ответы (1)


Оказалось, что это вопрос модальности.

https://bugreports.qt.io/browse/QTBUG-82737?jql=text%20~%20%22MessageDialog%22

Добавление

modality: Qt.ApplicationModal

Сделал трюк

person CitizenFish    schedule 02.04.2020