Windowsで表示されているWebページ上のテキストを右クリックするとQWebView
、カーソルの下の単語が選択されます。この動作を無効にしたいのですが、ドキュメントに参照が見つかりません。
2849 次
2 に答える
5
この設定は、 WebkitQWebView
(特にGoogle Chromeを強化するエンジン)の奥深くにあるように見えます。一部のテキストを右クリックしたときの望ましい動作に関する議論を伴うWebkitのバグがありますが、この議論(およびその後の変更)は、 Webkitが分岐してQtWebkitRelease20(Qt 4.7.xでリリースされたバージョン)を作成した後に 発生しました-Iこれが、必要な動作がChromeには表示されるが、Qtには表示されない理由だと思います。Qt 4.8の一部として含まれるもう1つの次のブランチ、QtWebkitRelease22があります。-あなたが求めている変更は、そのリリースで実装されると思います。
したがって、私が見ているように、あなたの選択肢は次のいずれかです。
- 弾丸を噛んでQt4.8.0RCに進むには
- Qt 4.8の安定したリリースを待ち、回避策を考え出すには:
- 右クリックメニューを完全に無効にすることはできますか?
QWidget::setContextMenuPolicy(Qt::NoContextMenu)
もしそうなら仕事をします。 - に接続してから、を使用して選択解除を強制することができます。
QWebView::selectionChanged()
signal
findText("")
- 右クリックメニューを完全に無効にすることはできますか?
于 2011-11-17T08:46:07.217 に答える
1
JavaScript関数を使用して、次のように複数のブラウザでテキストの選択を無効にすることができます
<script type="text/javascript">
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //For IE
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //For Firefox
target.style.MozUserSelect="none"
else //All other route (For Opera)
target.onmousedown=function(){return false}
target.style.cursor = "default"
}
</script>
この関数を呼び出す
<script type="text/javascript">
disableSelection(document.body)
</script>
于 2012-01-28T05:38:34.013 に答える