Resumen de uso de MessageDialog
I. Resumen
El caso de uso más básico de MessageDialog es mostrar un cuadro de alerta. También permite a los usuarios responder de varias formas según los botones que estén activados . El diálogo es inicialmente invisible. Primero debe establecer la propiedad como desee, luego establecer visible en verdadero o llamar a open().
Puede haber varios controladores según los botones estándar que tenga el cuadro de diálogo y el ButtonRole de cada botón. Por ejemplo, cuando el usuario presiona el botón Cancelar, Cerrar o Abortar, se llamará al controlador onRejected.
Una ventana MessageDialog es automáticamente temporal con respecto a su ventana principal. Entonces, ya sea que declare el cuadro de diálogo en el proyecto o en la ventana, el cuadro de diálogo se mostrará en el centro de la ventana que contiene el proyecto o la ventana en la que lo declara.
La implementación de MessageDialog será un cuadro de diálogo de mensaje de plataforma, si es posible. Si esto falla, entonces intenta crear una instancia de QMessageBox. Si eso también falla, vuelve a la implementación de QML, defaultmessagdialog.QML.
En este caso, puede personalizar la apariencia editando este archivo. Cuadro de diálogo de mensaje predeterminado. El qml contiene un rectángulo para contener el contenido del cuadro de diálogo, porque algunos sistemas integrados no admiten varias ventanas de nivel superior. Cuando el cuadro de diálogo se vuelve visible, se envuelve automáticamente en una ventana si es posible, o simplemente se vuelve a colocar en la parte superior de la ventana principal si solo puede haber una.
dos, usa
1. Ejemplo 1
Aquí hay un ejemplo mínimo que muestra un error después de que el usuario responde:
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5
import QtQuick.Dialogs 1.3
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Button {
id: button1
x: 270
y: 335
text: qsTr("打开消息对话框")
onClicked: {
messageDialog.open();
}
MessageDialog {
id: messageDialog
title: "标题"
icon: StandardIcon.Critical
text: "文本内容"
onAccepted: {
console.log("And of course you could only agree.")
}
}
}
}
2. Ejemplo 2
MessageDialog {
title: "Overwrite?"
icon: StandardIcon.Question
text: "file.txt already exists. Replace?"
detailedText: "To replace a file means that its existing contents will be lost. " +
"The file that you are copying now will be copied over it instead."
standardButtons: StandardButton.Yes | StandardButton.YesToAll |
StandardButton.No | StandardButton.NoToAll | StandardButton.Abort
Component.onCompleted: visible = true
onYes: console.log("copied")
onNo: console.log("didn't copy")
onRejected: console.log("aborted")
}
3. Propiedades comunes
icono : QQuickStandardIcon::Icono
- icono
icono | valor | Función |
---|---|---|
sin icono | StandardIcon.NoIcon | para una advertencia de texto sin decorar. |
StandardIcon.Question | Se utiliza para hacer preguntas durante las operaciones normales. | |
StandardIcon.Información | Se utiliza para reportar información de operación normal. | |
StandardIcon.Advertencia | Se utiliza para informar errores no críticos. | |
StandardIcon.Critical | Reportar errores críticos. |
botones estándar: botones estándar
- Este es el botón de configuración y similares. Puede consultar el uso en el Diálogo 1. Las funciones y señales en él son las mismas que en esta.