hon*_*a10 2 c++ qt static-members qcoreapplication qapplication
我有一个静态类,希望它有静态QSettings.但是在初始化时我得到一个警告:
QSettings* MySQLConnection::settings = new QSettings(QApplication::applicationDirPath() + "/config.ini", QSettings::IniFormat);
Run Code Online (Sandbox Code Playgroud)
QCoreApplication :: applicationDirPath:请首先实例化QApplication对象
作为一种解决方法,我QSetting在主函数的开头手动初始化.有没有更好的方法来初始化我的静态成员?
谢谢!
理想情况下,您应该没有任何类型的静态类实例.单例应该有一个本地实例,main()并且它们的静态方法应该通过指向常规方法的实例指针转发.看看QCoraApplication它是如何形成一个好例子的.
在任何情况下,QSettings实例都可以是短暂的.它只是设置机制的一个句柄.使它静止或保持它没有多大意义.这是正常现象QSettings作为函数的局部变量.
| 归档时间: |
|
| 查看次数: |
8084 次 |
| 最近记录: |