根据你提供的代码,读取配置文件的逻辑已经基本正确。但是有几个需要注意的地方:
- 循环中的
for
循环没有必要,因为你已经使用了foreach
循环遍历所有的键。 - 遍历时,可以通过比较键名是否以 “ProGramName_” 开头来筛选出相关的配置项。
根据以上建议,你可以修改代码如下:
void MainProgram::initAllblackProgram()
{
QSettings settings("E:\\7_qt_dir\\build-testProgram-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\\debug\\blackconfig.ini", QSettings::IniFormat);
QStringList keys = settings.allKeys();
foreach (QString key, keys) {
if (key.startsWith("ProGramName_")) {
QString value = settings.value(key).toString();
qDebug() << key << ": " << value;
ProgramTool::getInstance()->addBlackProgram(value);
}
}
}
这样修改后,将会遍历所有键,并且只处理以 “ProGramName_” 开头的配置项。在每个匹配到的配置项中,获取对应的值并添加到黑名单程序列表中。
请确保替换掉实际配置文件路径,并根据需要进行其他适当调整。
内容由零声教学AI助手提供,问题来源于学员提问