在我的应用程序中,我有很多QLineEdit
小部件。用户可以编辑它们。我观察到,如果我将文本添加到一个QLineEdit
通过GUI
& 然后如果它QLineEdit
有光标然后如果我按下ctrl+z
然后它撤消文本,因此其中没有文本。现在,如果我按代码设置文本,则按SetText("some text")
方法undo
不起作用ctrl+z
。即使我undo
通过代码仍然无法清除文本。问题是什么?我错过了什么吗?谢谢你。
问问题
1168 次
1 回答
3
undo
可能认为您设置的值SetText
应该被视为默认起始值,不需要undo
ing。对我来说似乎是正常的行为。
这是SetText()
定义:
此属性保存行编辑的文本。设置此属性会清除选择,清除撤消/重做历史,将光标移动到行尾并将修改的属性重置为 false。使用 setText() 插入文本时不会验证文本。文本被截断为 maxLength() 长度。默认情况下,此属性包含一个空字符串。调用 setText() 会将修改后的标志重置为 false。
也许如果你设置setModified ( bool )
为 true,会为你解决这个问题
编辑:找到解决方法:insert(QString text)
工作undo()
得很好
于 2013-03-06T13:56:28.323 回答