将不同类型的对象存储在容器中

时间:2017-07-05 16:36:52

标签: c++ qt containers qt5

我有两个对象QColorQFont,并且可以添加更多内容。
我想将这些对象存储在容器中,例如QList,但这个容器需要一种类型的数据。

QFont font = QFontDialog::getFont(&fontDlgRet, initFont, parent);
QColor color = QColorDialog::getColor(initColor, parent);

是否有容器接受添加不同类型的对象?

1 个答案:

答案 0 :(得分:1)

  

是否有容器接受添加不同类型的对象?

是:QVariantList,QVariantMap,QVariantHash。

您也可以手动滚动自己,例如select --split( INDIVIDUAL_NAMES, '->') as Assigned_to_individual, regexp_extract( split( INDIVIDUAL_NAMES, '->'),r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d)') from [table name ]where _ID in('071632')

请参阅http://doc.qt.io/qt-5/qvariant.html

另外,请注意,丢失这样的类型信息是不赞成的,也是不好的做法。如果您有一组有限的类型,则可以使用std::vector<QVariant>代替。