为使用Qt 5.4的iOS应用程序添加设置条目

Add Settings entry for iOS app using Qt 5.4

本文关键字:添加 应用程序 设置 iOS Qt      更新时间:2023-10-16

我使用Qt 5.4构建了一个iOS 8.2应用程序。我想在设置应用中添加一个用户输入字段,就像很多其他应用一样,但我不知道该怎么做。我尝试了以下操作(不工作):

int main(int argc, char *argv[])
{
  QGuiApplication app(argc, argv);
  TDA::TapDisplaySingleton* mainClass =
  new TDA::TapDisplaySingleton(&app);
  QObject::connect(&app, SIGNAL(aboutToQuit()),
               mainClass, SLOT(aboutToQuitApp()));
  QGuiApplication::setOrganizationName("NASA Langley");
  QGuiApplication::setOrganizationDomain("larc.nasa.gov");
  QGuiApplication::setApplicationName("TAP Display");
  QSettings settings;
  settings.setValue("HOSTNAME", "localhost");
  QTimer::singleShot(10, mainClass, SLOT(run()));
  return app.exec();
}

当我在模拟器中启动应用程序并打开设置应用程序时,我的条目没有出现。有人知道如何在iOS中使用Qt有效地做到这一点吗?

事实证明,Qt确实提供了一种生成设置的方法。你需要定义一个根目录。plist和Root。在.PRO文件中添加以下内容:

SETTINGS_BUNDLE_DATA_ROOT.files += Root.plist
SETTINGS_BUNDLE_DATA_ROOT.path = Settings.bundle
SETTINGS_BUNDLE_DATA_LANG.files += Root.strings
SETTINGS_BUNDLE_DATA_LANG.path = Settings.bundle/en.lproj
QMAKE_BUNDLE_DATA += SETTINGS_BUNDLE_DATA_ROOT SETTINGS_BUNDLE_DATA_LANG

当你的项目被链接时,bundle将被创建。

QSettings仅用于以持久方式存储设置。添加设置到iOS设置应用程序是Qt的范围之外,查找"iOS设置包"的信息如何创建这些-例如https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html .