【问题标题】:QML/D text editor and basic considerationsQML/D 文本编辑器和基本注意事项
【发布时间】:2011-05-28 08:10:47
【问题描述】:

我将编写一个文本/代码编辑器(使用 QML 的 GUI 和 D* 中的其余部分)。但我有几个问题:

  • 我使用 QML 和 C++ 对 GUI 进行编码,然后将其与 D-Backend 连接以用于格式化等目的。连接不同语言的最佳方式是什么?管道、套接字或在 D 中使用 C++ 库的能力?

  • 恕我直言,富文本用于格式化文本(在大多数情况下)。如何以简单的方式编辑此“标记”?格式化代码是否像背景图像,用户编辑不透明的非格式化文本?

  • 有没有常用的技术?

*因为 QML 很酷、独立于平台且速度很快。另一方面,D 功能强大且易于使用。

【问题讨论】:

  • 剩下一个问题:有没有常见的编辑器技术来编辑格式化文本?

标签: c++ qt4 text-editor d qml


【解决方案1】:

您可能知道,有 QtD,用于 D 的 Qt 绑定。​​它现在还没有准备好生产,但可能有一天。

另一种选择是通过 C 包装器连接 C++ 和 D。这是 C++ 和 D 之间最常用的交互方式。

extern(C++) 接口特定于 Windows 上的 DigitalMars C++ 编译器,并且非常有限,因此可能对您的问题没有帮助。

您可能还想查看SWIG。它是一个自动生成用于其他语言与 C++ 交互的胶水代码的工具。它支持D。

如果性能不是问题,与 D 代码的通信可以通过套接字或管道进行。

【讨论】:

  • 谢谢! QtD 并不是一个真正的选择,因为我想使用 QML (>4.7) 并且 AFAIK 这还不支持。
  • @NaN QML 通常用于 Web 应用程序。那么,这会是某种网络应用吗?
  • 用于网络应用的 QML?谁使用 C++ 或至少 Qt 创建网页?我想编写像 Notepad++、Scite 之类的桌面程序...因为我不喜欢现有的程序——它们速度慢、不够强大或看起来太旧了!所以我想要一个快速、强大且美观的替代方案。
【解决方案2】:

QML 不适用于 WebApp。它是 QtQuick 标记语言。在 Qt 上做 UI 的“新”方式。 QWidget 可能会在 Qt5 中被弃用,转而使用 QML。

我尝试做同样的事情。但我担心 qml 还没有准备好做这样的事情。目前可用的大多数元素都足以绘制图像、矩形、列表视图、单行文本输入和转换。

我试图通过使用 python 和 pygments 着色来实现这一点,太慢了,使用 html3.2 样式来做到这一点不是正确的方法。但这是在 qml textedit 中设置文本样式的唯一方法。 ;(

QtQuick 2.0 应该会带来更好的文本控制。

【讨论】:

  • 是的,你是对的! QML 还没有准备好(还)。用老办法试试,希望明年能用上QML。
猜你喜欢
  • 2011-01-06
  • 2011-01-04
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
相关资源
最近更新 更多