【发布时间】:2015-10-22 10:13:48
【问题描述】:
我尝试与 PySide(Ubuntu 15.04、Python3.4、PySide 1.2.4)建立网络连接。我使用了来自the documentation的示例代码。
QNetworkAccessManager 没有发送请求,我也没有收到任何答复。我用QNetworkSession(QNetworkConfigurationManager().defaultConfiguration()).State() 检查了网络状态,但它说状态无效。这似乎没有任何意义,因为我使用的是通过以太网电缆连接网络的台式电脑。
我的完整测试示例如下:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PySide.QtGui import QApplication
from PySide.QtCore import QUrl
from PySide.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkSession, QNetworkConfigurationManager
def replyFinished(reply):
print(reply)
if __name__ == "__main__":
app = QApplication(sys.argv)
manager = QNetworkAccessManager()
manager.finished.connect(replyFinished)
print(QNetworkSession(QNetworkConfigurationManager().defaultConfiguration()).State())
print("Sending request")
print(manager.get(QNetworkRequest(QUrl("http://www.heise.de/ct/"))))
打印出来
PySide.QtNetwork.QNetworkSession.State.Invalid
Sending request
<PySide.QtNetwork.QNetworkReply object at 0x7f4b59c9af08>
但它应该显示PySide.QtNetwork.QNetworkReply 对象两次。
【问题讨论】:
-
如果没有
app.exec_(),它将无法工作。
标签: qt python-3.x pyside