QML/D 文本编辑器和基本注意事项

发布于 2024-11-10 12:13:22 字数 333 浏览 3 评论 0原文

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

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

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

  • 有通用技术吗?

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

I am going to code a text/code editor (GUI with QML and the rest in D*). But I have several problems:

  • I code the GUI with QML and C++ and then I connect it with a D-Backend for formatting etc. purposes. What is the best way to connect different Languages? Pipes, Sockets or in D the ability to use C++ Libraries?

  • IMHO rich text is used to format the text (in most cases). How is it possible to edit this "markup" in an easy way?? Is the formated code like a background image and the user edits an opaque non-formated-text?

  • Are there common techniques?

*Because QML is cool, platform indepedent and fast. On the other hand D is powerful and easy to use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梅窗月明清似水 2024-11-17 12:13:22

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

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

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

另外,您可能还想查看 SWIG。它是一个自动生成其他语言与 C++ 交互的粘合代码的工具。它支持 D。

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

As you might know, there is QtD, Qt binding for D. It's not production ready right now, but it might be some day.

Another option would be connecting C++ and D, through C wrapper. This is the most commonly used way of interacting between C++ and D.

extern(C++) interfaces are specific to DigitalMars C++ compiler on Windows and are very limited, so that probably wouldn't help with your problem.

Also you might want to look at SWIG. It's a tool automatically generating glue code for interaction of other languages with C++. It supports D.

If performance is not an issue communications with D code could work through sockets or pipes.

农村范ル 2024-11-17 12:13:22

QML 不适用于 WebApp。它是 QtQuick 标记语言。在 Qt 中进行 UI 的“新”方式。在 Qt5 中,QWidget 可能会被弃用,取而代之的是 QML。

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

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

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

QML isn't for WebApp. It s QtQuick Markup Language. The 'new' way to do UI at Qt. And QWidget will probably be deprecated in favor of QML in Qt5.

I've try to do the same thing. But i fear that qml isn't ready yet to do things like that. Most element available today are just good enought to draw image, rectangle, listview, one line text input and do transition.

I was trying to achieve that by coloring with python and pygments, too slow, using html3.2 style to do that isn't the right way. But it's the only way to style text in qml textedit. ;(

QtQuick 2.0 should bring better text control.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文