您的位置:首页 > 房产 > 家装 > photoshop touch_建立网站和小程序需要多少钱_seo品牌优化整站优化_石家庄seo全网营销

photoshop touch_建立网站和小程序需要多少钱_seo品牌优化整站优化_石家庄seo全网营销

2024/10/30 23:24:12 来源:https://blog.csdn.net/yueni_zhao/article/details/143185863  浏览:    关键词:photoshop touch_建立网站和小程序需要多少钱_seo品牌优化整站优化_石家庄seo全网营销
photoshop touch_建立网站和小程序需要多少钱_seo品牌优化整站优化_石家庄seo全网营销

一 将QT自带的枚举类型转换为QString

需要的头文件:

#include <QMetaObject>
#include <QMetaEnum>

 测试代码

   const QMetaObject *metaObject = &QImage::staticMetaObject;QMetaEnum metaEnum = metaObject->enumerator(metaObject->indexOfEnumerator("Format"));QString formatString = metaEnum.valueToKey(image1.format());qDebug() << "formatString = " << formatString;

测试输出的结果:

formatString =  "Format_Mono" 

 二 通过qdebug<<重载自己的私有枚举

1 修改类

添加自己的枚举类型和枚举类型转字符串函数:

class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();enum myenum{MY_ENUM_ONE,MY_ENUM_TWO,};static QString toString(myenum value) {switch (value) {case MY_ENUM_ONE: return "MY_ENUM_ONE";case MY_ENUM_TWO: return "MY_ENUM_TWO";default: return "Unknown";}}
}

2 添加QDebug的<<新的重载方法

然后,为 QDebug 类提供一个重载的 operator<<() 方法:

// 为 QDebug 提供重载的 operator<<,用于输出 MainWindow::myenum 类型的值
QDebug operator<<(QDebug debug, MainWindow::myenum value) {QDebugStateSaver saver(debug); // 保存 QDebug 的当前状态debug.nospace() << MainWindow::toString(value); // 输出枚举值的字符串表示return debug;
}

3 添加测试代码

在构造函数中添加测试代码:

    enum myenum one = myenum::MY_ENUM_ONE;qDebug() << one;

4 测试结果:

三 将私有枚举转字符串

这样就可以了

    static QString toString(myenum value) {switch (value) {case MY_ENUM_ONE: return "MY_ENUM_ONE";case MY_ENUM_TWO: return "MY_ENUM_TWO";default: return "Unknown";}}

小结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com