PyQt5: Как напечатать QUrl без имени модуля

Я пытаюсь получить 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://stackru.com'
wv = QWebEngineView()

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

что дает мне:

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

Меня интересует только захват строки Unicode без имени модуля:

u'http://stackru.com'

Я знаю, что могу просто напечатать URL, но это просто для воспроизведения проблемы в большем приложении.

1 ответ

Решение

Класс QUrl имеет специальный метод toString для этого:

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

Вы также можете передать аргумент с помощью опций форматирования, который изменит способ отображения URL (например, удалив запрос или убрав косую черту).

Другие вопросы по тегам