【问题标题】:PyQt5: How to print a QUrl without the module namePyQt5:如何打印没有模块名称的 QUrl
【发布时间】:2017-11-10 19:28:19
【问题描述】:

我正在尝试从网络上获取一个 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,但这只是为了在更大的应用程序中重现问题。

【问题讨论】:

    标签: python text pyqt5 qurl


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢它的工作。 u = QUrl(QUrl((url))) 打印 u.toString()
    猜你喜欢
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    相关资源
    最近更新 更多