0

我正在尝试从网络上获取一个 url,但无论我做什么,它都会打印 QUrl 的整个模块:

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView

app = QApplication(sys.argv)
url = 'http://stackoverflow.com'
wv = QWebEngineView()

wv.load(QUrl(url))
print str(QUrl(url))
wv.show()
app.exec_()

这给了我:

PyQt5.QtCore.QUrl(u'http://stackoverflow.com')

我只对获取 unicode 字符串感兴趣,没有模块名称:

u'http://stackoverflow.com'

我知道我可以打印 url,但这只是为了在更大的应用程序中重现问题。

4

1 回答 1

1

QUrl类为此有一个专用的toString方法:

>>> u = QtCore.QUrl(u'http://stackoverflow.com')
>>> u.toString()
u'http://stackoverflow.com'

您还可以使用Formatting Options传入一个参数,这将修改 url 的显示方式(例如,通过删除查询或去除尾部斜杠)。

于 2017-11-10T20:03:21.600 回答