Comments 16
что есть пример (ССЫЛКА) из поставки Qt 5
Саму ссылку забыли, а я пока пошел читать дальше ;)
0
Кстати, бага с рендером, видимо, связана с OS X, потому что QPainter и render() прекрасно работают на линуксе.
0
Я на работе реализовал для Qt 4 прямой интерфейс QNetworkManager -> WSGI, этакий Qt-шный WSGI контейнер для одесктопливания питонских веб-приложений без посредства вебсерверов, сокетов и тому подобной ерунды, с дополнительными фишками типа выдачи статических файлов, усунутых в базу SQLite etc. Могу сказать, что при учёте всех нюансов — кеширования, работы с флэшом, прочего — нервов было потрачено немало (как вам нравится кратковременная смена текущей папки процесса под виндой во время инициализации флэш-плагина?) Ну, в моём случае это ещё должно было взаимодействовать с питонским интерпретатором в отдельном треде, что тоже трудов добавило. Только вот мне всё это на github положить никто не позволит :(
+1
Жалко, что такая работа пропадает в корнях рабочих проектах. Но в моей прокси, по-сути, такие сложные вещи не нужны, единственное что — это ssl. Не уверен, что там все идеально.
+1
Может я что-то не так понял, но все же спрошу. Почему просто не получить список всех изображений со страницы по тому же селектору img, и в отдельном потоке (потоках) не сохранить их с помощью QNetworkRequest — QNetworkReply?
+1
Вы не задумылись, что порой, веб-приложения отдают не только статику. Я довольно часто имею дело с такими скриптами: запрос — получили изображение, аналогичный — изображение не сходится.
Как пример, могу навести капчу. У вас есть ссылка /api/captcha.php?code=a8de3 и с каждым запросом изображения будут разные.
Как пример, могу навести капчу. У вас есть ссылка /api/captcha.php?code=a8de3 и с каждым запросом изображения будут разные.
+1
Я на питоне такое делал github.com/lorien/grab/tree/master/grab/kit Вроде работало, до ума модуль не довёл пока, отложил на будущее.
+1
Кстати, а PyQt совместим с C++ версией кьюта?
0
У меня не очень обширные познания C/C++/PyQt. Даже не очень понимаю, что вы спрашиваете.
Возможно тут есть ответ: www.riverbankcomputing.co.uk/software/pyqt/intro
Возможно тут есть ответ: www.riverbankcomputing.co.uk/software/pyqt/intro
0
А на PyQt вырезание куска отрендеренной страницы (область картинки) в 3 строки
captcha = br.webframe.findFirstElement('img#captcha')
captchaCoords = captcha.geometry().getCoords()
br.snapshot(captchaCoords).save('captcha.png')
+1
Будет время — добавлю snapshot() в QWebElement
0
Да оно там (spynner) просто делается
if box:
x1, y1, x2, y2 = box
w, h = (x2 - x1), (y2 - y1)
image0 = QImage(QSize(x2, y2), format)
painter = QPainter(image0)
self.webpage.mainFrame().render(painter)
painter.end()
image = image0.copy(x1, y1, w, h)
else:
image = QImage(self.webpage.viewportSize(), format)
painter = QPainter(image)
self.webpage.mainFrame().render(painter)
painter.end()
return image
0
Sign up to leave a comment.
Перехват загружаемых ресурсов в QtWebKit или как я оседлал единорога под дабстеп