0

我不想显示消息,仅在第一次使用应用程序时显示,即在第一次调用应用程序时,一段代码应该只执行一次。我尝试使用 QSettings,但无法解决任何问题。

if(firstTime)
   {
      //do something!
   }
4

3 回答 3

3

只需在启动时检查 QSettings 以获得一些值。如果它不存在,那么它是第一次启动。之后,设置变量,以便每次后续加载都能找到它。

在 PyQt4 中它看起来像这样(我相信你可以翻译成 C++):

settings = QSettings("foo.plist", QSettings.NativeFormat)

if not settings.contains('hasLaunched'):
    # this is our first time! Weee

# no matter what, set the value for the future
settings.setValue('hasLaunched', 1)
于 2012-08-12T05:10:28.613 回答
0

而不是“hasLaunched”,您可以使用“lastLaunchedVersion”并在那里存储版本号。这样,如果需要,您可以轻松地在每次升级时执行一些特定于版本的步骤,并且还可以检测首次启动。

于 2012-08-13T09:24:50.877 回答
0

在 cpp 中:

// Setup the QSettings variable
QSettings settings("Organization", "ApplicationName", this);

// Check if the value for "firsttime" is set, 
// and add default value to true    
if(settings.value("firsttime", true).toBool())
    QMessageBox::information(this, "Hello", "This is our first time");

// Set the value to false, because from now on its not the first time
settings.setValue("firsttime", false);
于 2012-08-13T10:16:06.283 回答