我的 C++ 头文件中有这个:
#include <QMap>
#include <QString>
class LogEvent {
public:
LogEvent();
enum column_t {TIMESTAMP_COLUMN = 0, TYPE_COLUMN = 1, EVENT_COLUMN = 2,
FILE_COLUMN = 3};
static QMap<column_t, QString> COLUMN_NAMES;
static QMap<column_t, QString> getColumnNames() {
return LogEvent::COLUMN_NAMES;
}
//blah blah blah other functions
};
这是我的 C++ 源文件:
#include "LogEvent.h"
LogEvent::LogEvent()
{
//constructor code
}
//blah blah blah other functions
我想将值添加到我的静态 QMap COLUMN_NAMES。我将在哪里以及如何做到这一点?
最佳答案
同时,Qt 5.2 在 QMap 中增加了对 C++11 初始化列表的支持:
QMap::QMap(std::initializer_list<std::pair<Key, T> > list)
这意味着你可以像这样初始化你的 map :
static QMap<QString, int> my_map{{"a", 1}, {"b", 2}, {"c", 3}};
关于c++ - 如何在 C++ Qt 中填充静态 QMap 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157625/