Thanks, i got rid of the break statements and i changed = to ==. It displays both boards now.
I modified my .ini file(below). I am getting two values from my .ini file, 8.56 and 15. I am trying to assign "Board1" the first value(8.56) and "Board2" the second value(15) with the code below. However, it is only assigning the second value(15) to both Board1 and Board2. Why is this?
output from the qdebug statements are below aswell.
new .ini file:
[values]
1 = 8.56
2 =15
[values]
1 = 8.56
2 =15
To copy to clipboard, switch view to plain text mode
code:
@
for(i = 1; i < 3; i++){
ui
->comboBox
->addItem
("Board"+QString::number(i
));
QSettings settings
("/home/test/Documents/Wave/signalgenerator.ini",
QSettings::IniFormat);
qDebug() << settings.allKeys();//qdebug
settings.beginGroup("values");
QHash<QString, QString> values;
foreach
(const QString &childKey, childKeys
) {
qDebug() << childKey << "->" << settings.value(childKey).toString();//qdebug
values.insert(childKey, settings.value(childKey).toString());
if (childKey.toInt() == 1) {
calfactor = settings.value(childKey).toFloat();
ui->comboBox->setItemData(0, calfactor);
qDebug()<<"index:" << ui->comboBox->itemText(1)<<" value:"<<ui->comboBox->itemData(1);//qdebug
}
if (childKey.toInt() == 2) {
calfactor = settings.value(childKey).toFloat();
ui->comboBox->setItemData(1, calfactor);
qDebug()<<"index:" << ui->comboBox->itemText(1)<<" value:"<<ui->comboBox->itemData(1);//qdebug
}
}
settings.endGroup();
qDebug() << "values hash:" << values;//qdebug
for(i = 1; i < 3; i++){
ui->comboBox->addItem("Board"+QString::number(i));
QSettings settings("/home/test/Documents/Wave/signalgenerator.ini", QSettings::IniFormat);
qDebug() << settings.allKeys();//qdebug
settings.beginGroup("values");
const QStringList childKeys = settings.childKeys();
QHash<QString, QString> values;
foreach (const QString &childKey, childKeys) {
qDebug() << childKey << "->" << settings.value(childKey).toString();//qdebug
values.insert(childKey, settings.value(childKey).toString());
if (childKey.toInt() == 1) {
calfactor = settings.value(childKey).toFloat();
ui->comboBox->setItemData(0, calfactor);
qDebug()<<"index:" << ui->comboBox->itemText(1)<<" value:"<<ui->comboBox->itemData(1);//qdebug
}
if (childKey.toInt() == 2) {
calfactor = settings.value(childKey).toFloat();
ui->comboBox->setItemData(1, calfactor);
qDebug()<<"index:" << ui->comboBox->itemText(1)<<" value:"<<ui->comboBox->itemData(1);//qdebug
}
}
settings.endGroup();
qDebug() << "values hash:" << values;//qdebug
To copy to clipboard, switch view to plain text mode
Output from qdebug statements:
("values/1", "values/2")
"1" -> "8.56"
index
: "Board1" value
: QVariant(float,
8.56) "2" -> "15"
index
: "Board2" value
: QVariant(float,
15) values hash
: QHash(("1",
"8.56")("2",
"15"))
("values/1", "values/2")
"1" -> "8.56"
index: "Board1" value: QVariant(float, 8.56)
"2" -> "15"
index: "Board2" value: QVariant(float, 15)
values hash: QHash(("1", "8.56")("2", "15"))
To copy to clipboard, switch view to plain text mode
Bookmarks