Qt QObject dynamic array

Qt QObject dynamic array

本文关键字:array dynamic QObject Qt      更新时间:2023-10-16

有没有其他方法可以创建QObject的动态数组?以下代码无法编译:

QStringList labels = defaultScene->getLabels();
QAction* traceActions = new QAction[labels.size()];

错误是:

C2512: "QAction" : 没有合适的默认构造函数可用

你看到这个是因为 QAction 没有默认的构造函数。

您可以创建一个指向 QAction 的指针数组,然后单独实例化每个 QAction。

大致像:

QAction** actions = new (QAction*)[labels.size()];
for(size_t i = 0; i<labels.size(); ++i)
{
  actions[i] = new QAction(constructor params ...);
}