Я работаю над приложением / скриптом Python + Qt WebSMS. Он запрашивает номер и сообщение и отправляет его в Vodafone с помощью механизации. Поскольку Vodafone моей страны не поддерживает UTF-8, по крайней мере для WebSMS и каждое SMS должно быть короче 160 символов, я использую эту настройку:
def setMesaj():
global mesaj
mesaj = unicode(self.textEdit.toPlainText().toUtf8(), "utf-8")
mesaj = mesaj.encode("ascii", "ignore")
if (len(mesaj)) > 159:
print "[WARN-1] Mesaj 160 karakterden fazla?"
i = len(mesaj) - 159
mesaj = mesaj [:-i]
print mesaj
QtCore.QObject.connect(self.textEdit, QtCore.SIGNAL("textChanged()"), setMesaj)
Ну, это работает. Если сообщение превышает 160 символов, последняя буква автоматически удаляется, и если пользователь пытается ввести какой-либо «странный» символ, он не принимается.
Вот мой вопрос: переменная 'mesaj' работает отлично, но она не обновляет функцию QTextEdit, поэтому, когда она не получает ничего более 160 символов (или Unicode), она все равно выглядит разрешенной для пользователя. Итак, как я могу обновить QTextEdit, когда пользователь пишет на нем, и сделать изменения синхронизированными?
Спасибо