我有两个对象QColor
,QFont
并且有可能添加更多对象。
例如,我想将该对象存储在容器中QList
但该容器需要一种类型的数据。
QFont font = QFontDialog::getFont(&fontDlgRet, initFont, parent);
QColor color = QColorDialog::getColor(initColor, parent);
是否有容器接受添加不同类型的对象?
是否有容器接受添加不同类型的对象?
是的:QVariantList,QVariantMap,QVariantHash。
您也可以手动滚动自己的,例如std::vector<QVariant>
。
请参阅 http://doc.qt.io/qt-5/qvariant.html
另外,请注意,丢失这样的类型信息是不受欢迎的和不好的做法。如果您有一组有限的类型,则可以改用std::variant
。