qt - 直接定义静态QStringList

标签 qt definition qstringlist

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

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

但是使用 VisualStudio C++ 编译器,不可能这样做。我收到错误:

initializer-list can not be convertedinto QStringList

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

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

例如:

main.cpp:

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

字符串列表.cpp:

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

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

最佳答案

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

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

DEFINES += Q_COMPILER_INITIALIZER_LISTS

关于qt - 直接定义静态QStringList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54147353/

相关文章:

linux - 为什么我没有从 g++ 中收到 "Multiple definition"错误?

c++ - 根据函数定义进行函数声明

c++ - 从另一个 QStringList 中删除一个 QStringList 中包含的字符串

android - Qt5 Android 最大化应用

c++ - 如何在 Qt 应用程序中加载文件时显示 "waiting"?

c++ - 是否可以为 Qt 中的每种语言编译单独的应用程序?

enums - 在 Swift 中,是否可以在编译时为枚举的关联值预填充值?

c++ - 如何将多个 QStringLists 中的项目添加到一个?

c++ - Qt:当 QListView 获取新条目时如何更新 QStringList

cocoa - 隐藏窗口直到显示顶部窗口