すべてのグローバル変数を保持する Qt C++ プロジェクトにファイルが必要です。
次のようなもの: mainvar.h
グローバルにアクセスする必要があるファイルに含めることができます。
それらは、スタイルシートやその他のものを見つけることができる設定ファイルがある場所に定数を保持します。
現時点ではヘッダー ファイルがありますが、リンカ エラー: LNK2005 for double definition が発生します。
それから、#define と extern があります...
これに対する最も現代的なソリューションは何ですか?これにどのようにアプローチすればよいですか? 問題は、グローバル変数がいくつになるかまだわからないということです。
私はPHPから来ましたが、そこは少し異なります。あなたの助けを楽しみにしています。
編集1:
OK、コメントの後にいくつかのコードを示します。古いコードを削除したので、クラスを作成するための最初のコメントのコードが既に保持されています。
QFile settingsFile(GlobalSettings::getSettingsFileStr());
if (!settingsFile.exists())
{
//create the settings file
settingsFile.open(QIODevice::ReadWrite);
settingsFile.close();
loadSettings("://src/settings_default.ini");
}
else
{
loadSettings("");
}
この設定ファイルでは、ユーザーがアプリケーションを閉じたときに TrayIcon が表示されるかどうかを保存しました。
後で、この設定を MainWindow クラスで使用したいと考えています。そのような:
QSettings settings(GlobalSettings::getSettingsFileStr(), QSettings::IniFormat);
if ( settings.value("general/trayIcon").toBool() )
{
event->ignore();
showTrayIcon();
this->hide();
}
編集により明確さが増すことを願っています。
ごきげんよう、リチャード