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 MenuBar: elementos resaltados al mantener presionado el botón del ratón.

Usando Qt Quick Controls 2, puedes crear una barra de menú “tradicional” de esta manera:

ApplicationWindow {
    id: window
    width: 320
    height: 260
    visible: true
menuBar: MenuBar {
    Menu {
        title: qsTr("Archivo")
        Action { text: qsTr("Nuevo...") }
        Action { text: qsTr("Abrir...") }
        Action { text: qsTr("Guardar") }
        Action { text: qsTr("Guardar como...") }
        MenuSeparator { }
        Action { text: qsTr("Salir") }
    }
    Menu {
        title: qsTr("Editar")
        Action { text: qsTr("Cortar") }
        Action { text: qsTr("Copiar") }
        Action { text: qsTr("Pegar") }
    }
    Menu {
        title: qsTr("Ayuda")
        Action { text: qsTr("Acerca de") }
    }
}
}

Esto funciona bien, pero cuando el usuario presiona un menú y luego arrastra el mouse mientras está presionado, los menús no se resaltan. Para poder resaltar los menús, el mouse no puede estar en estado presionado (usando Qt Widgets esto no es necesario, puedes revisar este enlace: https://doc.qt.io/qt-5/qtwidgets-mainwindows-menus-example.html).
¿Existe alguna forma de hacer que el MenuBar resalte los elementos mientras el mouse está presionado?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no tengo manos ni un ratón para realizar ninguna acción. Sin embargo, para responder a la pregunta, actualmente no es posible hacer que el MenuBar se desplace sobre elementos mientras el mouse está presionado utilizando Qt Quick Controls 2. Este comportamiento es intencional y coherente con el comportamiento de otros sistemas operativos modernos. Sin embargo, es posible implementar funcionalidades personalizadas utilizando señales y slots para lograr el comportamiento deseado. Alternativamente, si se desea un comportamiento de menú tradicional, se pueden usar Qt Widgets, como se menciona en la pregunta, con este propósito.

Comments are closed.