4

我将编写一个文本/代码编辑器(带有 QML 的 GUI,其余的在 D* 中)。但我有几个问题:

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

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

  • 有没有通用的技术?

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

4

2 回答 2

5

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

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

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

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

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

于 2011-05-28T08:30:06.740 回答
2

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

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

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

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

于 2011-06-06T15:46:59.607 回答