【问题标题】:Method for building lightweight, cross-platform, text editor构建轻量级、跨平台、文本编辑器的方法
【发布时间】:2025-12-07 02:30:01
【问题描述】:

我正计划构建一个简单、轻量级的文本编辑器,它结合了漂亮的外观和以键盘为中心的输入。

我想对诸如抗锯齿和所有一般图形之类的东西进行大量控制,但我不关心拥有一个完整的小部件库。几乎整个 UI 都是基于文本的,并且位于应用的主画布/窗口中。

  • GTK 和 Qt 之类的工具包似乎有点矫枉过正 - 大量我不需要的小部件和复杂的代码库。
  • Titanium、AIR 和 XULRunner 在某些方面甚至更大 - 开发会很快,但这并不是轻量级的方法。
  • 鞋子看起来几乎完美合脚,但它有点太小了,并且不支持足够的事件(例如,没有调整窗口大小)。

您认为,我应该在 Cairo/Pango 或其他图形库上构建它并自己滚动平台特定的东西吗?我宁愿使用某种框架。

基本上我想要的是:

  • 良好的事件处理
  • 窗口
  • 菜单
  • 使用非常棒的类型渲染选项进行绘图

我很想从一开始就构建这个跨平台。

【问题讨论】:

    标签: graphics air gtk shoes xulrunner


    【解决方案1】:

    即使您只使用 Cairo/Pango,您仍然需要在屏幕上显示窗口。

    最简单的组合是 cairo + pango + GDK(GTK+ 的窗口部分) 但是即使在那种情况下,您也没有菜单,并且使用纯 Cairo 构建菜单 将是一项艰巨(但并非不可能)的成就。

    如果您坚持轻量级和跨平台,请检查以下内容

    【讨论】:

    • 谢谢。 wxWidgets 看起来是个不错的选择。 wxRuby 感觉就像是更复杂、更成熟的 Shoes 版本,这正是我想要的。
    【解决方案2】:

    Scintilla 是一个跨平台的源代码编辑组件(基于 GTK+),对语法高亮、代码折叠、文本缩放,当然还有所有常用的文本编辑功能都有很好的支持;它应该是文本编辑器的良好基础。

    【讨论】: