es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

QML ¿Cómo mostrar múltiples ventanas emergentes en una ventana? (para ToolTip)

Quiero mostrar todas las sugerencias de las herramientas de los botones cuando se activa el clic de un botón auxiliar.
Podría hacerlo sólo con un botón con ToolTip.show (“Alguna instrucción”, -1), pero cuando llamé a este método con más de 1 botón, sólo la última llamada al ToolTip se muestra a sí misma.
Encontré que ToolTip hereda Popup, así que creo que puedo resolver mi problema si puedo hacer que múltiples Popups se muestren en una ventana.
A continuación se muestra lo que quería hacer. ¿Alguna idea?

C ++
Botón {
id: helperButton
texto: "Ayuda"
onClicked: {
otherButton1.ToolTip.show("instrucción del botón 1", -1)
otherButton2.ToolTip.show("instrucción del botón 2", -1)
otherButton3.ToolTip.show("instrucción del botón 3", -1)
}
}

///Resultado: Sólo se muestra ToolTip de @otherButton3. Quiero que se muestren todas las sugerencias de herramientas de los botones al mismo tiempo.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mostrar todas las ToolTips de los botones cuando se activa el clic de un botón de ayuda, puedes crear un elemento emergente (Popup) separado para cada ToolTip y mostrarlos todos al mismo tiempo.

    Primero, crea un elemento emergente (Popup) para cada ToolTip:

    “`C++
    Popup {
    id: toolTip1
    width: 100
    height: 30
    contentItem: Text {
    text: “Instrucción del botón 1”
    }
    }

    Popup {
    id: toolTip2
    width: 100
    height: 30
    contentItem: Text {
    text: “Instrucción del botón 2”
    }
    }

    Popup {
    id: toolTip3
    width: 100
    height: 30
    contentItem: Text {
    text: “Instrucción del botón 3”
    }
    }


    Luego, en el controlador de señales onClicked del botón de ayuda, muestra todos los elementos emergentes (Popup): ```C++ Button { id: helperButton text: "Ayuda" onClicked: { toolTip1.show() toolTip2.show() toolTip3.show() } }

    De esta manera, todas las ToolTips se mostrarán simultáneamente sin interferir entre sí.

Comments are closed.