Qt/QML:带有内联 QML 元素的文本

Œlr*_*rim 6 c++ qt text qml qt-quick

我们正在使用 QtQuick/QML 构建图形用户界面。我们有一些来自数据库的动态多行文本,它们应该显示在应用程序中。目前,我们正在使用Text元素来显示文本。但是,我们需要将一些 QML 组件内联嵌入到文本中。为此,来自数据库的文本包含占位符,例如::checkbox|1::应该由程序替换和显示的。

在 HTML 中,这很容易,您可以简单地将内联元素与文本混合以产生如下结果:

在此处输入图片说明

但在 QML 中,这似乎更困难,因为Text如果空间不足(文本和容器大小都应该是动态的),则元素无法自动换行成两半。

我们能想出的最佳解决方案是为每个单词创建Flow一个Text元素的布局,但这似乎太hacky了。RichText与 HTML 一起使用还不够,因为我们确实需要在文本中自定义 QML 元素。此外,WebView由于性能原因,我们希望避免使用 a 。

是否有一种复杂的方法可以仅使用 QML/C++ 来实现?

eph*_*err 1

您可以创建自定义小部件并将它们嵌入到 QML 中: 使用 C++ 编写 QML 扩展