void MainWindow::open_file_clicked()
{
qDebug() << "open_file_clicked";
// 弹出打开文件对话框
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("INI files (*.ini);;Text files (*.txt);;All files (*)"));
// 如果用户没有选择文件(点击取消)
if (fileName.isEmpty()) {
qDebug() << "No file selected.";
return;
}
QSettings *my_config = new QSettings(fileName, QSettings::IniFormat);
// 检查文件是否存在
if (!QFile::exists(fileName)) {
qDebug() << "File does not exist.";
return;
}
for(int i=0;i<9;i++)
{
QString ma=QString::number(i)+"percentage_s1/light";
QString mb=QString::number(i)+"percentage_s1/ct";
QString mc=QString::number(i)+"percentage_s2/light";
QString md=QString::number(i)+"percentage_s2/ct";
QString percentage1 = my_config->value(ma).toString();
QString percentage2 = my_config->value(mb).toString();
QString percentage3 = my_config->value(mc).toString();
QString percentage4 = my_config->value(md).toString();
QTableWidgetItem *item;
item= tw1->item(i, 1);
item->setText(percentage1);
item= tw1->item(i, 2);
item->setText(percentage2);
item= tw1->item(i, 3);
item->setText(percentage3);
item= tw1->item(i, 4);
item->setText(percentage4);
}
}
void MainWindow::on_save_table_clicked()
{
qDebug() << "on_save_table_clicked";
// 弹出保存文件对话框
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "", tr("INI files (*.ini);;All files (*)"));
// 如果用户没有选择文件(点击取消)
if (fileName.isEmpty()) {
qDebug() << "No file selected.";
return;
}
// 如果没有扩展名,自动添加 .ini 扩展名
if (!fileName.endsWith(".ini", Qt::CaseInsensitive)) {
fileName.append(".ini");
}
// 检查文件所在目录是否存在,如果不存在则创建
QDir dir;
QString dirPath = QFileInfo(fileName).absolutePath();
if (!dir.exists(dirPath)) {
if (!dir.mkpath(dirPath)) {
qDebug() << "Failed to create directory: " << dirPath;
return; // 无法创建目录
}
}
QSettings *my_config = new QSettings(fileName, QSettings::IniFormat);
//QString percentage = my_config->value("percentage1/light1").toString();
{
for(int i=0;i<9;i++)
{
QString ma=QString::number(i)+"percentage_s1/light";
QString mb=QString::number(i)+"percentage_s1/ct";
QString mc=QString::number(i)+"percentage_s2/light";
QString md=QString::number(i)+"percentage_s2/ct";
my_config->setValue(ma, get_tw_name(i,1));
my_config->setValue(mb, get_tw_name(i,2));
my_config->setValue(mc, get_tw_name(i,3));
my_config->setValue(md, get_tw_name(i,4));
qDebug()<<get_tw_name(i,1)<<get_tw_name(i,2)<<get_tw_name(i,3)<<get_tw_name(i,4);
}
}
}