我想在我的 Qt C++ 项目中有一个包含所有全局变量的文件。
类似于:mainvar.h
我可以将其包含在需要访问全局变量的文件中。
它们会在我的设置文件所在的位置保存常量,我可以在其中找到样式表和其他内容。
目前我有一个头文件,但得到 Linker Error: LNK2005 for double definition。
然后,有 #define 和 extern ...
什么是最现代的解决方案,我应该如何解决这个问题?问题是,我还不知道我将拥有多少个全局变量。
我来自 PHP,那里的情况略有不同。期待您的帮助。
编辑1:
好的,在评论之后,这里是一些代码:我已经弹出了旧代码,所以这已经包含了第一个评论中的代码来创建一个类:
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();
}
我希望编辑增加清晰度。
一切顺利,理查德