2015-05-27 6 views
2

Я хочу получить простой текст от QLineEdit() объекта. Текстовый метод возвращает объект QString. Мне просто нужен простой строковый объект. Я использую pyqt4.Получить текст из QLineEdit

def n(self): 
    new_label=QLineEdit() 
    new_label.setText("txt") 
    txt=self.new_label.text() 
    self.name=txt 

TXT должна быть простая строка не QString.

ответ

2

Для преобразования один QString в Python 2, сделайте следующее:

self.name = unicode(self.new_label.text()) 

Чтобы автоматически конвертировать все QStrings, поставить это на начало вашего кода:

import sip 
sip.setapi('QString', 2) 
# must be before any pyqt imports 

from PyQt4 import QtCore, QtGui 

Если вы сделаете это, вам не нужно использовать unicode(), потому что все методы вернут строки python вместо QStrings. И обратите внимание, что с Python 3 это поведение по умолчанию, поэтому вам не нужно ничего делать, чтобы всегда получать строки python.

0

Преобразовать в строку с:

self.name = str(txt) 
Смежные вопросы