我需要创建自己的编解码器,即QTextCodec. 而且我想通过QTextCodec::codecForName("myname");
但是,仅子类是不够的。QTextCodec::availableCodecs()不包含我的编解码器名称。
QTextCodec 文档不涵盖自定义编解码器的正确注册区域:
创建自己的编解码器类
可以通过创建 QTextCodec 子类向 Qt 添加对新文本编码的支持。
纯虚函数向系统描述编码器,编码器根据需要在QTextStream支持的不同文本文件格式中使用,在X11下,用于特定语言环境的字符输入和输出。
要为 Qt 添加对另一种编码的支持,请创建 QTextCodec 的子类并实现下表中列出的功能。
name()
别名()
mibEnum()
convertToUnicode()
convertFromUnicode()您可能会发现将编解码器类作为插件提供更方便;有关详细信息,请参阅如何创建 Qt 插件。
所以,我试图深入挖掘插件的方向。但我不想有一个带有插件的单独项目。是否可以在同一个项目中声明插件?
或者有没有直接的方法将我的编解码器注册到 QTextCodec 中?这是优选的。