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 (например, удалив запрос или убрав косую черту).