配置文件在Qt中被覆盖 我正在创建一个配置文件,其中存储特定用户的用户名、密码和角色。我正在使用以下代码。 void主窗口::OnAssignButtonClicked() { QSettings设置(“/root/configFile.ini”,QSettings::ini格式); QString用户名=lineEditUsername.text(); QString password=lineEditPassword.text(); QString角色=comboBox.currentText(); QList列表用户名; QList-listPassword; QList列表角色; QVariantMap用户密码映射; QVariantMap用户角色映射; listUsername
每次单击“分配”按钮时,都会创建新映射,将用户、密码和角色存储在其中,并将该列表保存到配置文件中 缺少的是在修改现有映射之前读取它们。 而不是配置文件在Qt中被覆盖 我正在创建一个配置文件,其中存储特定用户的用户名、密码和角色。我正在使用以下代码。 void主窗口::OnAssignButtonClicked() { QSettings设置(“/root/configFile.ini”,QSettings::ini格式); QString用户名=lineEditUsername.text(); QString password=lineEditPassword.text(); QString角色=comboBox.currentText(); QList列表用户名; QList-listPassword; QList列表角色; QVariantMap用户密码映射; QVariantMap用户角色映射; listUsername,qt,ini,Qt,Ini,每次单击“分配”按钮时,都会创建新映射,将用户、密码和角色存储在其中,并将该列表保存到配置文件中 缺少的是在修改现有映射之前读取它们。 而不是 QVariant variantPassword = settings.value("Password"); QVariant variantRole = settings.value("Password"); QVariantMap mapPassword = variantPassword.value<QVariantMap>();
QVariant variantPassword = settings.value("Password");
QVariant variantRole = settings.value("Password");
QVariantMap mapPassword = variantPassword.value<QVariantMap>();
QVariantMap mapRole = variantRole.value<QVariantMap>();
QMapIterator<QString, QVariant> iteratorPassword(mapPassword);
QMapIterator<QString, QVariant>iteratorRole(mapRole);
while (iteratorPassword.hasNext())
{
iteratorPassword.next();
QString user = iteratorPassword.key();
QString pass = iteratorPassword.value().toString();
iteratorRole.next();
QString role = iteratorRole.value().toString();
}
做:
这应该是
QVariant variantRole = settings.value("Password");
每次单击“分配”按钮时,都会创建新映射,将用户、密码和角色存储在其中,并将该列表保存到配置文件中 缺少的是在修改现有映射之前读取它们。 而不是
QVariant variantPassword = settings.value("Password");
QVariant variantRole = settings.value("Password");
QVariantMap mapPassword = variantPassword.value<QVariantMap>();
QVariantMap mapRole = variantRole.value<QVariantMap>();
QMapIterator<QString, QVariant> iteratorPassword(mapPassword);
QMapIterator<QString, QVariant>iteratorRole(mapRole);
while (iteratorPassword.hasNext())
{
iteratorPassword.next();
QString user = iteratorPassword.key();
QString pass = iteratorPassword.value().toString();
iteratorRole.next();
QString role = iteratorRole.value().toString();
}
做:
这应该是
QVariant variantRole = settings.value("Password");
您是否读取过这些值,我只看到您将其设置为true,缺少QSettings::value();用于读取它们的调用我已添加了用于读取值的代码。我在其他插槽中读取了这些值。当某个用户尝试登录时使用它。您是否读取过这些值,我只看到您将其设置为true,缺少QSettings::value();调用读取值我添加了读取值的代码。我在不同的插槽中读取值。当某个用户尝试登录时使用。
QVariant variantRole = settings.value("Password");
.value("Role");