我正在开发一个Python+Qt WebSMS应用程序/脚本。它请求一个号码和信息,并通过mechanize发送给沃达丰。由于我国的沃达丰不支持UTF-8,至少对于网络短信和每条短信都应该少于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时更新QTextEdit并使更改看起来同步呢?在
谢谢