草庐IT

c++ - 将 QPair 转换为 QVariant

我有以下问题:我想通过TCP传输数据,并为此编写了一个函数。为了获得最大的可重用性,函数模板是f(QPairdata).第一个值(又名QString)被接收器用作目标地址,第二个包含数据。现在我想转一个QPair-value,但不幸的是我无法转换QPair到QVariant.最佳是能够传输一对int-无需编写新函数(或重载旧函数)的值。QPair的最佳替代方案是什么?在这种情况下? 最佳答案 您必须使用特殊宏Q_DECLARE_METATYPE()使自定义类型可用于QVariant系统。Pleasereadthedoccareful

c++ - QMap 和 QPair,C++,Qt

我想制作一个数据结构来通过两种方式访问​​字符串:通过ID访问按名称访问我的第一个想法是为每种方法使用两个映射,但这会导致数据重复:QMapaccessById;QMapaccessByName;我正在寻找更好的方法,例如:QMap,QString>multiAccess;但这对我没有帮助(至少我不知道该怎么做),因为在map中搜索需要同时知道ID和名称。如何定义良好的Qt类结构来实现我的目标?没有外部库,但有Qt 最佳答案 怎么样:QMapnameIdMap;QMapaccessById;您通过ID访问并为名称和ID创建映射。然后