直接定义静态QStringList

时间:2019-01-11 13:18:16

标签: qt definition qstringlist

我想在外部文件中创建并定义一个静态QStringList。 使用gcc ist可以这样做:

static QStringList list1 = {item1, item2, item4, ...};

但是使用visualStudio c ++编译器无法以这种方式进行操作。我收到错误消息:

  

初始化程序列表不能转换为QStringList

对我来说很重要,我可以在声明后直接定义列表。

因为我不想在主文件中定义它。

例如:

main.cpp:

#include "stringlist.cpp"    
int main()
{
    QList<QStringList> list;
    list << list1;
}
...

stringlist.cpp:

#include <QStringList>
static QStringList list1 = {"hi", "hello"};

我想这样做是因为QStringList的定义很长,如果这么大的定义位于其他代码之间,则会非常令人困惑。

1 个答案:

答案 0 :(得分:4)

我找到了解决问题的方法:

您必须在.pro文件中输入以下代码段。

DEFINES += Q_COMPILER_INITIALIZER_LISTS