0

ウィンドウの寸法を保存するために使用したいQSettingsので、設定を保存して読み込むために次の 2 つの関数を思いつきました。

void MainWindow::loadSettings()
{
    settings = new QSettings("Nothing","KTerminal");
    int MainWidth = settings->value("MainWidth").toInt();
    int MainHeight = settings->value("MainHeight").toInt();
    std::cout << "loadSettings " << MainWidth << "x" << MainHeight << std::endl;
    std::cout << "file: " << settings->fileName().toLatin1().data() << std::endl;
    if (MainWidth && MainHeight)
      this->resize(MainWidth,MainHeight);
    else
      this->resize(1300, 840);
}

void MainWindow::saveSettings()
{
  int MainHeight = this->size().height();
  int MainWidth = this->size().width();

  std::cout << "file: " << settings->fileName().toLatin1().data() << std::endl;
  std::cout << "saveSettings " << MainWidth << "x" << MainHeight << std::endl;

  settings->setValue("MainHeight",MainHeight);
  settings->setValue("MainWidth",MainWidth);

}

これで、ディメンションが期待どおりに抽出されていることがわかりsaveSettingsますが、ファイルが作成されないため、loadSettings常に 0 のみがロードされます。どうしてこれなの?

4

1 に答える 1