如何将QStringView与QML一起使用?

如何将QStringView与QML一起使用?,string,qt,qt5,qstring,String,Qt,Qt5,Qstring,我试图了解如何/是否可以在从QML调用的信号/插槽中使用QStringView。例如,在下面的代码中,我是否可以使用QStringView而不是QString Q_PROPERTY(QString priority READ priority WRITE setPriority NOTIFY priorityChanged) 从我从文档中阅读的内容来看,QVariant支持的任何类型都可以在Q_属性中使用,我可以理解为什么QVariant不支持QStringView,但我正在寻找将QStrin

我试图了解如何/是否可以在从QML调用的信号/插槽中使用
QStringView
。例如,在下面的代码中,我是否可以使用
QStringView
而不是
QString

Q_PROPERTY(QString priority READ priority WRITE setPriority NOTIFY priorityChanged)

从我从文档中阅读的内容来看,
QVariant
支持的任何类型都可以在
Q_属性
中使用,我可以理解为什么QVariant不支持
QStringView
,但我正在寻找将
QStringView
与QML一起使用的方法,而不是通过<代码> QStult<代码> >两个副本之间的副本。

< P> QML和C++数据类型之间的支持转换在

中描述。 支持的数据类型可分为四类:

  • 基本数据类型
  • QObject
    派生类(例如
    qabstractemodel
  • 一些基本清单
  • 枚举
回答:
QStringView
不属于这些类别。因此,不可能将其传输到QML

可能的解决方法:您可以尝试围绕
QStringView
创建一个基于
QObject
的包装器,该包装器实现所需的QML接口