问题描述
|
我要编写一个文本/代码编辑器(带有QML的GUI和D *中的其余代码)。但是我有几个问题:
我使用QML和C ++对GUI进行编码,然后将其与D-Backend连接以进行格式化等用途。连接不同语言的最佳方法是什么?管道,套接字还是在D中使用C ++库的能力?
IMHO富文本格式用于格式化文本(大多数情况下)。如何以简单的方式编辑此“标记”?格式化后的代码是否像背景图片一样,用户是否编辑了不透明的非格式化文本?
有通用的技术吗?
*由于QML很酷,独立于平台且速度很快。另一方面,D功能强大且易于使用。
解决方法
您可能知道,有D的QtD和Qt绑定。它目前尚未准备好生产,但是可能有一天。
另一种选择是通过C包装器连接C ++和D。这是C ++和D之间最常用的交互方式。
“ 0”接口专用于Windows上的DigitalMars C ++编译器,并且接口非常有限,因此可能对您的问题没有帮助。
另外,您可能想看看SWIG。它是一种工具,可自动生成胶粘代码以与其他语言与C ++进行交互。它支持D。
如果性能不是问题,则可以通过套接字或管道与D代码进行通信。
, QML不适用于WebApp。它是QtQuick标记语言。在Qt执行UI的\'new \'方法。 Qt5中可能会弃用QWidget,而改用QML。
我已经尝试做同样的事情。但是我担心qml还没有准备好做类似的事情。今天可用的大多数元素都足以绘制图像,矩形,列表视图,输入一行文本并进行过渡。
我试图用太慢的python和pygments着色来实现这一点,使用html3.2样式来做到这一点不是正确的方法。但这是在qml textedit中设置文本样式的唯一方法。 ;(
QtQuick 2.0应该带来更好的文本控制。