如何在QJSEngine中注册QList <quint64>之类的类型?

时间:2019-09-15 06:04:28

标签: qt qt5 qjsengine

我在Qt-app中使用QJSEngine编写脚本。我的C ++函数之一返回了QList<quint64>类型,我需要从javascript中调用它。调用没有错误。但是,它返回QVariant(QList<qulonglong>)而不是预期的整数列表。定义为在C ++中返回QList<int>的另一个函数可以从javascript正常工作,返回整数列表。我浏览了QJSEngineQJSValue的文档,没有发现解决此问题的提示。附言quint64本身也可以正常工作-只是其中的列表不起作用。

1 个答案:

答案 0 :(得分:0)

您应该改用QVariantList。 QVariant支持与qint64和quint64相同的qlonglong和qulonglong。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count <> 1 Then Exit Sub 'bail out immediately instead of nesting

    Select Case True
        Case Not Intersect(Target, Range("E9")) Is Nothing
            ShowShape "Factiva"
            ShowShape "Orange Business", isVisible:=False

        Case Not Intersect(Target, Range("E8")) Is Nothing
            ShowShape "Orange Business"
            ShowShape "Factiva", isVisible:=False

        'Case ...

    End Select
End Sub

或转换:

QList<qlonglong> list;