Qt Quick - Cuadro de aviso de mensaje 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.")
            }
        }
    }
}

inserte la descripción de la imagen aquí

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")
  }

inserte la descripción de la imagen aquí

3. Propiedades comunes

icono : QQuickStandardIcon::Icono

  • icono
icono valor Función
sin icono StandardIcon.NoIcon para una advertencia de texto sin decorar.
inserte la descripción de la imagen aquí StandardIcon.Question Se utiliza para hacer preguntas durante las operaciones normales.
inserte la descripción de la imagen aquí StandardIcon.Información Se utiliza para reportar información de operación normal.
inserte la descripción de la imagen aquí StandardIcon.Advertencia Se utiliza para informar errores no críticos.
 StandardIcon.Critical Reportar errores críticos.

botones estándar: botones estándar

Acho que você gosta

Origin blog.csdn.net/qq_43680827/article/details/130171609
Recomendado
Clasificación