3

過去5日間、QML Webビューオブジェクトのクリックを「オン」にするために多くの「解決策」を試してきましたが、どのページのどのリンクもクリックできないようです。

私はペイパルのチェックアウトページを埋め込んでいます、そしておそらくそれは私が逃した非常に単純なものです。Webビューのみで、幅+高さ+ javascripts(およびjsなし)以外のオプションがまったくない空のページを試しました。以下のコード(および他の多くのもの)を試しましたが、クリックはありませんでした。IRCに質問してみたところ、「最も基本的なWebビューの設定でも、常にクリックできるはずです」という応答が返されました。以下のコードで、URLを実際のap-keyを含むものからdevログインページだけに変更しましたが、paypalのgoogle.comまたは他のサイトに関係なく、問題は同じです。

どうか、私が何かをクリックする方法を知っている人はいますか?フォームをクリックすることも、キーボードをポップアップしてフォームに入力することも、クリックすることもできません。

MeegoプラットフォームでQML+PySideを実行しています。以下のページ/長方形をmain.qmlからLoaderオブジェクトにロードします。

どんな助けでも大歓迎です。

注:qt-developerネットワークで同じ質問をしましたが、まだ応答がありません。ここで試してみると、このフォーラムはより多くの人が住んでいるので、この問題についての経験を持つ誰かが読んでくれることを願っています(これらの問題を抱えているのは私だけではないことに気づきました)。

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;
      }
     }
    }
   }
  }
 }
}
4

1 に答える 1

2

QML マークアップでは、PinchArea 要素は WebView の子であるため、WebView の前にマウス/タッチ プレス イベントを取得します。要素階層で PinchArea を WebView の「後ろ」に移動すると、リンクをクリックできるようになります (ログイン ボックスの下の 3 つを除く。新しいブラウザー ウィンドウを開こうとするため)。

于 2012-11-06T06:38:44.207 に答える