gpt4 book ai didi

ios - 如何使用qt5.2在iPhone上写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:02 25 4
gpt4 key购买 nike

我正在使用 Qt5.2 在 iPhone 上编写应用程序。当应用程序运行时,我想将用户输入的一些信息保存到文件中,以便下次用户启动应用程序时,他将获得保存信息。

我试着这样做:

QString cur_dir = QDir::currentPath();
QString init_file = cur_dir+"/init.xml";

QSettings settings( init_file, QSettings::IniFormat );
settings.setValue("General/SavedVariable", sel_label->text() );

但是当我验证这样做时文件没有创建:

if( !QFileInfo( init_file ).exists() )
std::cout << "FILE DOES NOT EXISTS " << std::endl;
else
std::cout << "FILE EXISTS " << std::endl;

最佳答案

我找到了一个解决方案。您不能将文件保存在 Bundle 目录中。你必须保存在文档目录中。 下面是我用来执行此操作的代码:

{
QString cur_dir = QDir::currentPath();

int found = cur_dir.lastIndexOf( "/" );

QString leftSide = cur_dir.left(found+1);
leftSide += "Documents";

init_file = leftSide+"/init.xml";

if( !QFileInfo( init_file ).exists() )
writeConfig();
else
readConfig();
}

void
writeConfig( void )
{
QSettings settings( init_file, QSettings::IniFormat );
settings.setValue("General/SavedVariable", sel_label->text() );
}

void
readConfig( void )
{
QSettings settings( init_file, QSettings::IniFormat );
QString save_var = settings.value( "General/SavedVariable" ).toString();
sel_label->setText( save_var );
}

这是一种方式。您还可以将一个 objective-c 文件 .mm 添加到您的项目中qt工程,直接获取Documents路径。

NSString *rootPath = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,
NSUserDomainMask,
YES) objectAtIndex:0];

关于ios - 如何使用qt5.2在iPhone上写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21367475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com