【发布时间】:2015-01-03 12:47:04
【问题描述】:
我正在使用 PySide 编写一个编剧应用程序。我想要的是在用户输入时将字符转换为大写。
每次添加字符时,以下代码都会出现运行时错误,提示“超出最大递归深度”。我明白这意味着什么以及为什么会发生,但有不同的方法吗?
self.cursor = self.recipient.textCursor()
self.cursor.movePosition(QTextCursor.StartOfLine)
self.cursor.movePosition(QTextCursor.EndOfLine, QTextCursor.KeepAnchor)
self.curtext = self.cursor.selectedText()
if len(self.curtext) > len(self.prevText):
self.cursor.insertText(self.curtext.upper())
self.cursor.clearSelection()
self.prevText = self.curtext
只要文本编辑小部件中的文本发生更改,上面的代码就会运行。 if 语句阻止代码在用户没有插入文本时运行。
【问题讨论】:
标签: python qt pyside uppercase qtextedit