【问题标题】:QTextEdit for input and output用于输入和输出的 QTextEdit
【发布时间】:2016-11-09 14:34:49
【问题描述】:

我正在考虑使用QTextEdit 作为类似控制台的 IO 元素(用于串行数据)。 这种方法的问题是(用户)输入和(通信)输出是混合的,它们可能不同步。

要检测新的用户输入,可能会在某些输入事件上存储和比较 plainText,例如当按下 Enter/Return 时。

另一种方法可能是将 QTextEdit 用作仅用于单独管理的输入和输出缓冲区的视图。这也可以简化潜在的异步数据问题(设备在用户键入时发送字符,在我的情况下不太可能)。 但是,即使通过单字符时间戳合并两个“流”也有可能发生冲突。

是否有(简单)解决方案,或者我应该简单地使用单独且完全独立的输入/输出区域?

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    如果您的 UI 是命令驱动的并且输入是面向行的,那么单独的 I/O 区域是最简单的方法。

    或者,远程设备可以提供回声,而无需本地回声。然后,远程设备会在有意义时回显字符,以保持一致的显示。

    您还可以显示本地行编辑缓冲区,以在远程回显延迟或不可用时提供用户反馈。该缓冲区仅用于反馈,对终端的其他行为没有影响;所有击键都会立即发送到远程设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 2013-10-20
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多