Если вы используете QWebView.title
, чтобы получить заголовок текущей веб-страницы, то она вернет либо QString
, либо строку в кодировке Python Unicode.То, что вы получите, зависит от используемой версии PyQt API.Для версии 1 (которая используется по умолчанию для Python2) это будет QString
;для версии 2 (которая используется по умолчанию для Python3) это будет строка в кодировке Юникод Python.Что бы это ни было, чтобы правильно отобразить его при редактировании строки, просто установите его прямо:
lineEdit.setText(webview.title())
Поскольку вы, похоже, используете Python2, я буду считать, что webview.title()
возвращает QString
.Если вы хотите преобразовать это в строку Unicode Python (например, чтобы использовать его с sqlite), то вы можете сделать следующее:
title = unicode(webview.title())
Обратите внимание, что вы должны не passкодировка (например, «utf-8») в качестве второго аргумента unicode
, поскольку она используется для декодирования строк байтов в строки Unicode.
Если вам делать нужно получить строку байтов в кодировке "utf-8" из QString
, то вы можете сделать:
data = unicode(webview.title()).encode('utf-8')
или:
data = webview.title().toUtf8().data()