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



我有两个对象QColorQFont并且有可能添加更多对象。
例如,我想将该对象存储在容器中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

相关内容

  • 没有找到相关文章

最新更新