gpt4 book ai didi

c++ - 如何将 Qt 内置枚举公开给 QML?

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:56 26 4
gpt4 key购买 nike

我正在编写一个 C++ 类,其方法返回 QNetworkReply::NetworkError。我想在 QML 中使用这个枚举,而不只是将其视为整数,这样我就可以:

if (myObject.error() == NetworkError.OperationCanceledError) {

代替

if (myObject.error() == 5) {

最佳答案

您需要做的就是:

主要是:

qmlRegisterUncreatableType<QNetworkReply>("someimport", 1, 0, "QNetworkReply", "none");

然后在 qml 中:

import someimport 1.0
...
if (myObject.error() == QNetworkReply.OperationCanceledError) {

QNetworkReply 已经包含Q_ENUM 和Q_DECLARE_METATYPE 宏,所以剩下的就是将它导出到QML

关于c++ - 如何将 Qt 内置枚举公开给 QML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42927328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com