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

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

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

《c – Qt / QML:带有内联QML元素的文本》

但是在QML中,这似乎更难,因为如果没有足够的空间(文本和容器大小都应该是动态的),Text元素不能被包装成两半.

我们可以提出的最佳解决方案是为每个单词创建一个带有一个Text元素的Flow布局,但这看起来太糟糕了.
使用RichText和HTML是不可能的,因为我们真的需要文本中的自定义QML元素.
此外,由于性能原因,我们希望避免使用WebView.

是否有一种复杂的方法只用QML / C来实现它?

最佳答案 您可以创建自定义小部件并将其嵌入到QML中:

Writing QML Extensions with C++

点赞