QWebView: можно ли выделить термины и сделать навигацию с помощью клавиатуры? - PullRequest
1 голос
/ 31 мая 2010

Я использую QWebView из PyQT4. Я бы хотел

  1. выделите условия веб-страницы.
  2. выполнять навигацию с помощью клавиатуры внутри веб-страницы (например, Ctrl-N перейти к следующей ссылке)

возможно ли это?

Ответы [ 2 ]

3 голосов
/ 06 июня 2010

Посмотрите на Qwebview findText () метод.

 bool QWebView::findText ( const QString & subString,QWebPage::FindFlags  options = 0 )

Находит указанную строку, subString, на странице, используя указанные параметры.

Если флаг HighlightAllOccurferences установлен пройдено, функция подсветит все вхождения, которые существуют в стр. Все последующие звонки будут расширяться основной момент, а не заменить его, с появлением новой строки.

1 голос
/ 31 мая 2010
  1. не тривиально, но возможно. Вы можете использовать метод toHtml вашего QWebView экземпляра, проанализировать его, например. BeautifulSoup (обязательно придерживайтесь 3.0.9! -), вставьте <span class="myhilite">...</span> вокруг любых терминов, которые вам нравятся (а также CSS, чтобы точно определить, какой класс визуальных эффектов myhilite собирается использовать иметь) и положить измененный HTML обратно с setHtml - фу; -).

  2. Я думаю, вы могли бы, используя соответствующую функциональность, которая QWebView наследует от QWidget (я не думаю, что QWebView добавляет какую-либо дополнительную соответствующую собственную функциональность), например, grabKeyboard , если вы хотите захватить все события клавиатуры, или, может быть, addAction с соответствующим сочетанием клавиш - но я не совсем уверен, что вы хотите, чтобы когда Control-N нажата, так что это более сложно. Может быть, вы можете уточнить с точки зрения многих возможных методов QWebView, QWidget, и т.д ...?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...