Найти - Пользователи
Полная версия: не работает qNetworkAccessManager в pyqt4
Начало » GUI » не работает qNetworkAccessManager в pyqt4
1
Игнат
подскажите, что я делаю не так?
from PyQt4 import QtCore
from PyQt4.QtCore import QUrl
from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkCookieJar, QNetworkCookie

class test:
def result(self, data):
print(data.readAll())

def t(self):
conn = QNetworkAccessManager()
conn.setCookieJar(QNetworkCookieJar())

reply= conn.get(QNetworkRequest(QUrl('http://google.ru')))

QtCore.QObject.connect(conn, QtCore.SIGNAL("finished(QNetworkReply*)"), self.result);

test().t()
ничего не выводит
Игнат
неужели никто не знает
не могу даже примера нормального на питоне найти

есть рабочий пример на С++, но в питоне чего-то не хватает

попробовал переделать так:
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import QUrl, QObject, QEventLoop
from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkCookieJar, QNetworkCookie

conn = QNetworkAccessManager()
conn.setCookieJar(QNetworkCookieJar())

loop = QEventLoop()
self.reply= conn.get(QNetworkRequest(QUrl('http://google.ru')))

QtCore.QObject.connect(self.reply, QtCore.SIGNAL("finished()"), loop.quit);
loop.exec()

buf = self.reply.readAll()
print(buf)
получаю ошибку:

QEventLoop: Cannot be used without QApplication
инклуды не помогают
найти пример тоже не получается:
http://www.google.com/codesearch?hl=ru&lr=&q=qeventloop+lang%3Apython&sbtn=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
Soteric
А ты QApplication создал?
Игнат
спасибо! наконец сообразил

import sys

from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import QUrl, QObject, QEventLoop
from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkCookieJar, QNetworkCookie


class test(QObject):

def __init__(self, parent):
QtGui.QWidget.__init__(self, parent)

def t(self):
conn = QNetworkAccessManager()
conn.setCookieJar(QNetworkCookieJar())

self.loop = QEventLoop()
self.reply= conn.get(QNetworkRequest(QUrl('http://google.ru')))

QtCore.QObject.connect(self.reply, QtCore.SIGNAL("finished()"), self.loop.quit);
self.loop.exec()

buf = self.reply.readAll()
print(buf)

app = QtGui.QApplication(sys.argv)
b = test(app)
b.t()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB