3

さて、これが私のディレマです。Webkitを利用したQt Creatorで簡単なアプリケーションを作っています。Qt Creator には、右クリックのコンテキスト メニューをシグナルおよびスロット エディターで簡単に編集できる方法があると思っていましたが、そうではないことが証明されています。Webkit にはコンテキスト メニューに関係するクラスがあることは知っていますが、Qt Creator からそれらにアクセスする方法がわかりません。

コンテキスト メニューの [リンクを新しいウィンドウで開く] 部分を編集して、リンクをクリックしたときにアプリケーションが新しいウィンドウで開くようにする必要がありますが、前に述べたように、編集する方法が思いつきません。ソースから変更された QtWebKit をコンパイルせずに、それは面倒です。

何か違いがあれば、私は主に C#/.NET 開発者であり、Qt と C++ を使い始めました。

4

2 に答える 2

2

QWidget::contextMenuEvent( QContextMenuEvent * event ) は「仮想的に保護された」関数です。
QWebView を継承してから、「contextMenuEvent」をオーバーライドできます。

于 2010-07-25T09:07:59.180 に答える
1

「新しいウィンドウで開く」アクションを処理するだけでよい場合は、仮想保護されたQWebView::createWindowを再実装することをお勧めします。「新しいウィンドウで開く」をcreateWindowに指示するcreateStandardContextMenuを使用せずに、contextMenuEventを最初から再実装することは複雑になる可能性があります。

于 2012-03-30T01:04:39.827 に答える