Qt的控件  之一

在 WinForm 中,TextBox 既可以做单行输入,也可以通过设置 Multiline = true 做多行输入。

但在 Qt 中,为了性能和功能优化,官方根据“纯文本 vs 富文本”以及“编辑 vs 只读”的使用场景,将文本框拆分得更细。

以下是它们的对应关系及区别:


1. 核心对应关系表

Qt 控件 WinForm 对应控件 主要特征
QLineEdit TextBox (Multiline = false) 单行文本输入。最常用的账号、密码、搜索框。
QPlainTextEdit TextBox (Multiline = true) 多行纯文本。性能极高,适合日志、代码、大段文字。
QTextEdit RichTextBox 富文本。支持图片、表格、HTML、不同字体颜色。
QTextBrowser TextBox (ReadOnly = true) 只读富文本。带超链接跳转功能,常用于帮助文档。

2. 深入了解这三个 Qt 控件

QPlainTextEdit(最像 WinForm 的多行 TextBox)

它是为处理大文本优化的。如果你只是想让用户输入一段普通的文字(比如备注、地址、日志),选它就对了。

  • 优点: 内存占用低,滚动流畅。
  • 缺点: 不支持在文字中间插图片,不支持复杂的 HTML 渲染。

QTextEdit(更像 RichTextBox)

它是一个功能强大的富文本编辑器。

  • 功能: 你可以设置某一行是红色,下一行是加粗,甚至可以插入表格。
  • 注意: 因为它支持 HTML 层级,当文本量非常大(比如几万行日志)时,性能会比 QPlainTextEdit 慢。

QTextBrowser(增强版只读框)

它是 QTextEdit 的子类,但它是只读的。

  • 特殊能力: 它支持“超链接”点击。你可以用它写一个简单的帮助界面,用户点击文字可以跳转到另一个位置或网页。

总结:谁对应 WinForm 的 TextBox?

  • 如果你想要 WinForm 那种普通的单行输入框:请找 QLineEdit
  • 如果你想要 WinForm 那种多行(Multiline)输入框:请找 QPlainTextEdit