Qt中如何将信息保存到文本文件并且保留原来的信息,比如在原来的文本文件中添加一行信息。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中如何将信息保存到文本文件并且保留原来的信息,比如在原来的文本文件中添加一行信息。相关的知识,希望对你有一定的参考价值。

另外Qt如何将回车存入文本文件?

同过你的文字表示我理解为,你每一次想在已有的文本文件中追加一行信息,并且按回车保存文件?
应该有多种方法可以实现,在这我说一种可行的方案,希望对你有帮助。
1,新建 lineEdit 和 一个pushButton(不需要可以不用),
2,以追加的方式打开你要保存的文件(用QFile类);
3,用信号和槽机制实现 当 lineEdit接受到回车信号(lineEdit 自带此信号)时,将lineEdit内的内容追加方式写入文件。
附,可以实现当按下pushButton是追加写入信息后保存。同时还可以用setShutCut()函数对pushButton设快捷键,也可以实现按回车响应pushButton达到你要的目的。
参考技术A 这玩儿是对文件的操作啊,与qt关系并不紧密吧。
对文件的修改只能是先把文件数据全部加载到内存,按照需求修改了之后,再把数据写入文件。
回车符号与平台相关,win下需要写入"\r\n",unix写入"\n",mac貌似是"\r",这个不太清楚,没用过。

如何在将场景保存/导出为 .dae 格式时保留 SceneKit 中纹理的平铺信息(contentTransform 属性)?

【中文标题】如何在将场景保存/导出为 .dae 格式时保留 SceneKit 中纹理的平铺信息(contentTransform 属性)?【英文标题】:How to retain tiling information(contentTransform property) of a texture in SceneKit while saving/exporting the scene to .dae format? 【发布时间】:2016-05-02 23:45:02 【问题描述】:

在 mac 中将场景导出为 .dae 格式时遇到问题。我创建了一个带有前墙、左墙和右墙的场景,以及一个地板和三个 3D .dae 模型。对于墙壁,我设置了这样的纹理。

wall.geometry!.firstMaterial!.diffuse.contents = "art.scnassets/wall.jpg"
wall.geometry!.firstMaterial!.diffuse.contentsTransform = SCNMatrix4Mult(SCNMatrix4MakeScale(8, 2, 1), SCNMatrix4MakeTranslation(0, 1, 0));
wall.geometry!.firstMaterial!.diffuse.wrapS = SCNWrapMode.Repeat;
wall.geometry!.firstMaterial!.diffuse.wrapT = SCNWrapMode.Mirror;

这是我运行应用程序时的样子。

现在,我想将其导出为 .dae 格式,以便 Blender 或 3DS max 可以直接将其作为输入并从中渲染出高质量的图像。这是我编写的将场景导出为 .dae 格式的代码。

scnView.scene!.writeToURL(NSURL(fileURLWithPath: "/Users/srikanth/Mac/TestRender/TestRender/testrender.dae"), options: nil, delegate: nil, progressHandler: nil)

导出的文件如下所示。

这是我用作墙壁纹理的图像,它通过墙壁材料的 contentTransform 属性水平和垂直重复。

.dae 导出的文件包含应用于材质的 contentsTransform 属性以外的所有信息。我想在导出时也保留这些信息。矛盾的是,如果我将相同的场景导出为 .scn 格式,contentsTransform 属性值会保留,但唯一的问题是我没有找到任何工具或软件读取 Xcode 以外的 .scn

请帮助我了解如何在导出为 .dae 格式或任何帮助我读取 .scn 文件的插件或软件时保留材质的 contentTransform 属性。

【问题讨论】:

【参考方案1】:

我还没有尝试过,但我想知道使用 Model I/O 导出是否会更好。根据WWDC 2015 Model I/O talk,您可以编写 STL 和 OBJ,但显然不能编写 DAE。

import SceneKit.ModelIO

let asset = MDLAsset(SCNScene: scene!)
asset.exportAssetToURL

【讨论】:

以上是关于Qt中如何将信息保存到文本文件并且保留原来的信息,比如在原来的文本文件中添加一行信息。的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc 如何实现自动提交或保留用户未登录前得信息

qt中我想把组件中输入的数据保存到文件中怎么做?

选择选取器项目在文本字段中输入详细信息并保存

如何将信息作为数组python保存到json

C#如何实现数据库连接信息保存在文本中,如何读取该文本信息进行连接数据库的操作。 连接数据库的信息?

从 Qt 中的文本文件填充表格小部件