Как мне обработать HTML-форму с помощью PyQT? - PullRequest
0 голосов
/ 19 июля 2011

Я использую QTextBrowser для отображения статических HTML-документов.Я хочу встроить формы в эти документы, но я не могу понять, как собираюсь обрабатывать эти формы, используя python или pyqt.Приложение, которое я сейчас создаю, является настольным приложением, поэтому QWebView не слишком удобен.

Ответы [ 3 ]

0 голосов
/ 19 июля 2011

Подумайте, нужно ли сделать это в HTML.Если вы этого не сделаете, это будет намного проще.Если возможно, используйте стандартные компоненты формы Qt.

Если по какой-то причине вам do необходимо сделать это в реальном документе HTML с формами HTML, вы не сможете сделать это с помощьюQTextBrowser.Имейте в виду, что QTextBrowser имеет ограниченную функциональность;это не полноценный браузер, а скорее просто использующий довольно продвинутый форматированный текстовый рендер, который поддерживает большинство вещей в HTML, которые будут нужны для простого отображения.Две важные вещи, которые он не поддерживает, это JavaScript и формы.QWebView и другие вещи в пакете QtWebkit используют полный рендерер HTML со всеми отделками (WebKit), поэтому вы можете использовать такие вещи, как формы, и получать больше взаимодействия.Вы сможете указать ему локальный путь (или использовать ресурс Qt), поэтому тот факт, что это «настольное приложение», не имеет значения, а затем вы можете передавать данные формы со страницы в ваше приложение через JavaScript,Но вы бы отбросили огромную работу, которая уже была проделана для вас.

Если возможно, просто создайте свою форму, используя стандартные виджеты Qt.

0 голосов
/ 21 июля 2011

Пример извлечения формы Смотрите питонную версию в [pythondir] \ Lib \ site-packages \ PyQt4 \ examples \ webkit \ formextractor.Это должно быть установлено с PyQt

0 голосов
/ 19 июля 2011

рассмотрите возможность внедрения сервера Python в настольное приложение (см., Например, о модуле SimpleHTTPServer здесь ).

вы можете «обслуживать» ваши статические html или формы, содержащие страницы, в браузере вваше приложение (запрашивающее страницы у 'localhost / ...') и получающее или получающее запросы.

...