Qt creator 使用QTreeView将QFileSystemModel保存XML
时间: 2023-12-04 07:02:37 浏览: 90
QTreeView和QFileSystemModel的使用(QT版)
要将QFileSystemModel保存为XML,可以按照以下步骤操作:
1. 在Qt Creator中创建一个新的Qt Widgets应用程序项目。
2. 在项目中添加一个QTreeView控件和一个QFileSystemModel模型。
3. 在QTreeView控件中设置模型为QFileSystemModel模型。
4. 点击“文件”菜单并选择“新建文件”选项。在弹出的对话框中,选择“Qt”类别并选择“XML文件”类型。命名文件并点击“下一步”。
5. 在“XML文件设置”对话框中,选择“生成DOM模型”选项并点击“下一步”。
6. 在“XML文件内容”对话框中,将以下代码添加到XML文件中:
```
<?xml version="1.0" encoding="UTF-8"?>
<FileSystemModel>
</FileSystemModel>
```
7. 在Qt Creator中打开mainwindow.cpp文件并添加以下代码:
```
#include <QXmlStreamWriter>
#include <QFile>
void MainWindow::on_saveButton_clicked()
{
QFile file("fileSystemModel.xml");
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("FileSystemModel");
for (int i = 0; i < model->rowCount(); ++i) {
QModelIndex index = model->index(i, 0);
QString fileName = model->data(index, Qt::DisplayRole).toString();
xmlWriter.writeStartElement("File");
xmlWriter.writeTextElement("Name", fileName);
xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
}
```
8. 在mainwindow.h文件中添加以下代码:
```
private slots:
void on_saveButton_clicked();
private:
QFileSystemModel *model;
```
9. 在mainwindow.cpp文件中的构造函数中添加以下代码:
```
model = new QFileSystemModel(this);
model->setRootPath("/");
ui->treeView->setModel(model);
```
10. 在Qt Creator中编译并运行程序。单击保存按钮将QFileSystemModel保存为XML文件。
阅读全文