我为应用程序编写了一些代码 我想保存此设置像隐藏lineEdit或等... 并且当重新打开程序时,将加载最后的设置并在用户编辑设置时 保存更新的设置
我必须做什么?
注意:我使用了Qsettings,但设置没有保存! 如果可能,一个人为我编写示例代码保存组合框的当前索引
QSettings settings("Mobtakeran Fanavri KabooK","Kabook Physiothrapy");
Secretary::Secretary(QWidget *parent) :
QWidget(parent),
ui(new Ui::Secretary)
{
ui->setupUi(this);
ui->comboBox->setCurrentIndex(settings.value("comboBox").toInt());
}
Secretary::~Secretary()
{
QCoreApplication::setOrganizationName("Mobtakeran Fanavri KabooK");
QCoreApplication::setOrganizationName("WWW.M4RZB4Ni.IR");
QCoreApplication::setApplicationName("Kabook Physiothrapy");
delete ui;
}
void Secretary::on_comboBox_currentIndexChanged(int index)
{
settings.beginGroup("comboBox");
if(ui->comboBox->currentIndex()==2) {
ui->pushButton_3->setDisabled(true);
} else if(ui->comboBox->currentIndex()==1) {
ui->pushButton_3->hide();
settings.setValue("comboBox",ui->comboBox->currentIndex());
} else if(ui->comboBox->currentIndex()==0) {
if(ui->lineEdit_56->text()==NULL) {
ui->pushButton_8->setDisabled(true);
}
}
settings.endGroup();
}
答案 0 :(得分:1)
当您在Secretary::on_comboBox_currentIndexChanged
中保存设置时,您正在调用settings.beginGroup("comboBox")
,然后设置值settings.setValue("comboBox",ui->comboBox->currentIndex())
。
根据documentation,这会设置设置"comboBox/comboBox"
的值,这意味着您应该使用settings.value("comboBox/comboBox").toInt()
读取其值。
另请注意,只有在settings.setValue
更改为2的情况下才拨打currentIndex
,您确定要这样做吗?你是不是要在所有if/else
块后调用它?