2010-07-24 2 views
3

Хорошо, вот моя диллема. Я делаю простое приложение с Qt Creator, которое использует Webkit. Я подумал, что у Qt Creator будет простой способ редактировать контекстное меню правой кнопкой мыши с помощью редактора сигналов и слотов, но это оказалось неверным. Я знаю, что у webkit есть классы, которые связаны с контекстным меню, но я не знаю, как получить к ним доступ через Qt Creator.Как отредактировать контекстное меню QtWebKit в контекстном меню Qt Creator?

Мне нужно отредактировать часть контекстного меню «Открыть ссылку в новом окне», чтобы она открыла мое приложение в новом окне, когда ссылка была соблюдена, но, как я уже говорил, я не могу придумать способ редактировать его без компиляции модифицированного QtWebKit из источника, что было бы болью.

Любые ответы будут оценены, и если это имеет значение, я в основном разработчик C#/.NET, и я начал работать с Qt и C++.

ответ

2

Событие QWidget :: contextMenuEvent (QContextMenuEvent *) является «виртуальной защищенной» функцией.
Вы можете наследовать QWebView, а затем переопределить «contextMenuEvent».

+0

Спасибо, я думаю, что у меня есть это сейчас. –

0

Если вам нужно просто обработать действие «Открыть в новом окне», я предлагаю повторно реализовать виртуальный защищенный QWebView :: createWindow. Повторное выполнение contextMenuEvent с нуля может быть затруднено без использования createStandardContextMenu, которое направляет «Открыть в новом окне» для createWindow.

Смежные вопросы