2012-10-08 3 views
3

지난 5 일 동안 QML webview 개체에서 클릭을 "켜기"위해 많은 "솔루션"을 시도해 왔지만 여전히 클릭하는 것처럼 보이지 않습니다. 모든 페이지의 모든 링크.QML + Meego + webview가 웹 사이트에서 아무 것도 클릭하지 못함

저는 페이팔 체크 아웃 페이지를 임베드하고 있으며 아마도 놓친 매우 간단한 것입니다. 나는 widthview + height + javascripts (그리고 js없이) 만 webview와 옵션이없는 빈 페이지를 시도했다. 그리고 나는 코드 아래에서 시도했다. IRC에 묻고 "가장 기본적인 웹 뷰 설정으로도 항상 클릭 할 수 있어야합니다"라는 응답을 받았습니다. 아래의 코드에서 dev-login 페이지로 실제 ap-key를 포함하는 url이 변경되었지만 paypal 또는 다른 사이트의 google.com과 상관없이 문제는 동일합니다.

아무에게 나 누를 수있는 방법을 알고 계시나요? 나는 폼을 클릭하거나, 폼을 채우기 위해 키보드를 팝업하거나, 클릭을 할 수 없다.

Meego 플랫폼에서 QML + PySide를 실행 중입니다. 내 main.qml에서 Loader 객체에 아래 페이지/사각형을로드합니다.

도움을 주시면 매우 감사하겠습니다.

참고 : Qt 개발자 네트워크에서 같은 질문을했지만 아직 응답이 없습니다. 여기에서이 포럼은 더 많은 사람들이 모여서이 문제에 대한 경험이있는 사람이 읽을 수 있기를 바란다. (나는 단지 이러한 문제가있는 유일한 사람이 아니라는 것을 알아 차렸다). 당신의 QML 마크 업 PinchArea 요소에서

import QtQuick 1.1 
import QtWebKit 1.1 
import com.nokia.meego 1.1 

Rectangle { 
Image { 
    id: background 
    source: "./images/bg.png" 
    anchors.fill: parent 
    Text { 
    id: logo 
    text: "My Fancy Logo" 
    x: 2 
    y: 2 
    font.pixelSize: 24 
    font.bold: true 
    font.italic: true 
    color: "white" 
    style: Text.Raised 
    styleColor: "black" 
    smooth: true 
    } 
    Rectangle { 
    id: rect 
    x: 0 
    y: 60 
    width: background.width 
    height: background.height - 70 
    Flickable { 
    id: flickable 
    width: parent.width 
    height: parent.height 
    contentWidth: Math.max(parent.width,webView.width) 
    contentHeight: Math.max(parent.height,webView.height) 
    flickableDirection: Flickable.HorizontalAndVerticalFlick 
    anchors.top: parent.top 
    anchors.bottom: parent.bottom 
    anchors.left: parent.left 
    anchors.right: parent.right 
    boundsBehavior: Flickable.DragOverBounds 
    clip:true 
    pressDelay: 200 

    WebView { 
    id: webView 
    settings.javascriptEnabled: true 
    settings.pluginsEnabled: true 
    url: "https://developer.paypal.com/" 
    anchors.top: parent.top 
    anchors.bottom: parent.bottom 
    anchors.left: parent.left 
    anchors.right: parent.right 
    transformOrigin: Item.Top 
    smooth: false 
    focus: true 

    preferredWidth: flickable.width 
    preferredHeight: flickable.height 
    PinchArea { 
    id: pinchArea 
    property real minScale: 1.0 
    anchors.fill: parent 
    property real lastScale: 1.0 
    pinch.target: webView 
    pinch.minimumScale: minScale 
    pinch.maximumScale: 3.0 

    onPinchFinished: { 
    flickable.returnToBounds(); 
    flickable.contentWidth = (flickable.width + flickable.width) * webView.scale; 
     flickable.contentHeight = (flickable.height + flickable.height) * webView.scale; 
     } 
    } 
    } 
    } 
    } 
} 
} 

답변

2

는 웹보기의 자식 따라서 웹보기 전에 마우스/터치 프레스 이벤트를 가져옵니다. PinchArea를 요소 계층의 WebView 뒤쪽으로 이동하면 링크를 클릭 할 수있게됩니다 (새 브라우저 창을 열려고하기 때문에 로그인 상자 아래의 세 개는 제외).

관련 문제