PyQt5:如何在没有模块名称的情况下打印 QUrl

PyQt5: How to print a QUrl without the module name

我正在尝试从网上获取 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://whosebug.com'
wv = QWebEngineView()

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

这给了我:

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

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

u'http://whosebug.com'

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

QUrl class has a dedicated toString方法:

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

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