QML Dialog在ApplicationWindow中的定位
QML Dialog positioning in ApplicationWindow
我发现无法在 QT 5.12 中将对话框置于我的 ApplicationWindow 的中心
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 位置,但似乎没有任何东西可以将对话框向下移动到 window。我已经在项目之外单独尝试了 MainWindowMessageDialog。好像没什么变化吧?我错过了什么吗?
原来是模态问题。
https://bugreports.qt.io/browse/QTBUG-82737?jql=text%20~%20%22MessageDialog%22
添加
modality: Qt.ApplicationModal
成功了
我发现无法在 QT 5.12 中将对话框置于我的 ApplicationWindow 的中心
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 位置,但似乎没有任何东西可以将对话框向下移动到 window。我已经在项目之外单独尝试了 MainWindowMessageDialog。好像没什么变化吧?我错过了什么吗?
原来是模态问题。
https://bugreports.qt.io/browse/QTBUG-82737?jql=text%20~%20%22MessageDialog%22
添加
modality: Qt.ApplicationModal
成功了