Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2011 11:31:39

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает qNetworkAccessManager в pyqt4

подскажите, что я делаю не так?

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()
ничего не выводит



Офлайн

#2 Фев. 22, 2011 19:16:03

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает qNetworkAccessManager в pyqt4

неужели никто не знает
не могу даже примера нормального на питоне найти

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

попробовал переделать так:

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



Отредактировано (Фев. 22, 2011 19:17:28)

Офлайн

#3 Фев. 22, 2011 19:36:10

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

не работает qNetworkAccessManager в pyqt4

А ты QApplication создал?



Офлайн

#4 Фев. 23, 2011 06:06:57

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает qNetworkAccessManager в pyqt4

спасибо! наконец сообразил

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()



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version