这与我在这里发现的另一个问题有关,该问题似乎有几个月不活跃,所以我认为值得再问一次。
我创建了一个简单的 QDialog,它有一个 QTextEdit 和一个 QPushButton。当用户右键单击并选择“添加评论”选项时,这会在我的应用程序中弹出。我希望他们能够编写自由格式的文本,我只会将他们编写的任何内容保存为长字符串,而不用担心换行等。
当用户单击按钮时,它会执行如下代码:
self.connect(accept_button,QtCore.SIGNAL('clicked()'),lambda arg=str(view_textedit.toPlainText()): self.updateGroupComments(arg))
def updateGroupComments(self,new_comment_str):
print "Updating user comment to have new string: " + new_comment_str
self.group_entry.list_of_user_comments[self.currentFrameCounter] = new_comment_str
这不会检测可见的 TextEdit 文本(它只检测文本编辑文本在创建时设置的任何内容)。如何创建一个从 QTextEdit 返回当前可见文本的简单命令。再次,函数
toPlainText()
工作不正常......它找不到当前可见的文本,只有在用户开始进行更改或添加之前屏幕上的任何文本。
如果在没有子类化和吸引光标位置的情况下无法做到这一点,那么这会使整个事情看起来毫无价值……所以请只对那些没有子类化或操作光标的实施建议保留建议。只返回所有当前可见的文本应该非常简单明了......我错过了什么?