PyQt Webkit и html формы: выборка вывода и закрытие окна
Я пытаюсь получить окно PyQt Python без полей для отображения одной HTML-формы веб-сайта. При нажатии на кнопку отправки значения формы должны быть сохранены в словаре, а окно закрыто.
Пока (с помощьюТАКУ меня есть окно без полей, и я могу получить ввод. Тем не менее, две вещи отсутствуют:
Закрытие окна после нажатия кнопки отправки.Выборка ввода в словареelements
(обратите внимание, что ключиelements
соответствуют названиям HTML-форм).(потенциально наоборот, было бы лучше, но 1 кажется более сложным)
Мой код до сих пор:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
elements = {"like":"", "text": ""}
class MyWebPage(QWebPage):
def acceptNavigationRequest(self, frame, req, nav_type):
if nav_type == QWebPage.NavigationTypeFormSubmitted:
text = "<br>\n".join(["%s: %s" % pair for pair in req.url().queryItems()])
print(text)
return True
else:
return super(MyWebPage, self).acceptNavigationRequest(frame, req, nav_type)
class Window(QWidget):
def __init__(self, html):
super(Window, self).__init__()
self.setWindowFlags(Qt.FramelessWindowHint)
view = QWebView(self)
layout = QVBoxLayout(self)
layout.addWidget(view)
view.setPage(MyWebPage())
view.setHtml(html)
# setup the html form
html = """
Like it?
Yes
No
<br>
"""
def main():
app = QApplication(sys.argv)
window = Window(html)
window.show()
app.exec_()
if __name__ == "__main__":
main()
Идеальный ответ не только показал бы, как(а) сохранить ввод а также(б) закрыть окно, но(c) также удалите оставшуюся маленькую серую рамку вокруг html-страницы.
Обновить: Я использую Python 2