Não é possível mostrar a caixa de diálogo Popups na guia com visualização da Web

1

Meu aplicativo usa guias e uma delas mostra uma página da Web usando o WebView. Agora, eu tenho uma barra de ferramentas com um botão de ação que eu quero mostrar um diálogo - mas não é ir.

Em vez disso, recebo esta mensagem de erro ao pressionar o botão de ação:

file:///usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Popups/popupUtils.js:50: Error: Cannot assign QObject* to QQuickItem*

A exibição em uma guia sem um WebView trabalha o fint com o mesmo Component e Dialog. Por que isso não funciona e o que devo fazer para tornar isso possível? Eu realmente quero esse diálogo lá.

Aqui está parte do meu código:

            // Change coordinates dialog
            Component {
                 id: dialog
                 Dialog {
                     id: dialogue
                     title: "Save file"
                     text: "Are you sure that you want to save this file?"
                     // X
                     TextField {
                         id: xCoo
                         width: units.gu(20)
                         placeholderText: 'X'
                         text: xCurrent
                     }

                     // Y
                     TextField {
                         id: yCoo
                         width: units.gu(20)
                         placeholderText: 'Y'
                         text: yCurrent
                     }

                     Button {
                         id: 'goButton'
                         text: 'Go'
                         color: 'green'
                         onClicked: {
                             xCurrent = xCoo.text
                             yCurrent = yCoo.text
                             PopupUtils.close(cooDialog)
                         }
                     }
                 }
            }

            WebView {
                    id: mapContent
                    anchors.fill: parent
                    url: "http://webpage.html"
                    smooth: true
                    scale: 1
                    visible: true
                }

E a ação:

                // Change coordinates
                Action {
                    id: coordinateAction
                    objectName: "action2"

                    iconSource: Qt.resolvedUrl("toolbarIcon.png")
                    text: i18n.tr("Coordinates")

                    onTriggered: {
                        PopupUtils.open(dialog, coordinateAction)
                    }
                }
    
por Daniel Holm 05.05.2013 / 22:44

1 resposta

0

Na verdade, foi muito simples. O que eu fiz foi que eu mudei o sinal onTriggered para: PopupUtils.open (dialog, mapContent) onde mapContent é o ID da webview. Agora a caixa de diálogo funciona como deveria!

    
por Daniel Holm 13.05.2013 / 02:08