在Qt中,我想创建一些能够显示char输入的下一个字符的内容。
例如,我在QTextEdit中输入'a',它在另一个QTextEdit中自动变为'b',当我再次输入'b'时,它变为'c'。哪种算法适用于此?
答案 0 :(得分:0)
如评论中所述,您希望执行以下操作(不是代码):
第2步可能(来自你的例子)确保文本有多个字符,假设它是一个std :: string,得到text[text.length() -1]
,第3步可能是得到第二个文本的文本框,附加该字符并指定它。
这适用于可修改或不可修改的第二个文本框,因为它不会重新修改字符串中的每个字符 - 只是添加的字符。
但是,你需要明确定义你想要发生的事情。
答案 1 :(得分:0)
如果您可以直接修改字符,则可以设置每个字符tChar = iChar + 1
。如果你输入的不是字母(空格或输入键),它会有点不稳定。在这种情况下,你用if (iChar >= 'a' && iChar <= 'Z') {
包装它,它使用'n'语法来对实际的数字代码进行别名。另一种方法是子类化Qtextedit控件并重载void Qtextedit::keyReleaseEvent(QKeyEvent* event)
虚函数以拦截击键并检查这种方式。比较是类似的,但是您使用Qt :: Key_A而不是'a'来检查它是否为字母键,然后适当地修改生成的字符。