强大的QDataStream

    技术2024-07-10  70

    书上是这样描述QDataStream的:QDataStream提供了一种与运行平台无关的存储格式,他不仅支持QList<T>和QMap<K,T>等QT容器类,还支持整型和双精度型等基本的c++类,以及其他许多种qt数据类型,诸如QByteArray、QFont、QImage、QPixmap、QString和QVariant.

     

    然而我在QListWidgetItem、QTreeWidgetItem等中都找到了void QListWidgetItem::read ( QDataStream & in ,那么可以认为它直接能够保存item,这样就可以在一些额界面中省下很多转换来转换去的代码,直接使用就行了。

     

    下面就是我自己写的一个例子:

     

    存文件:

    QListWidgetItem *item;QFile file("file.dat");file.open(QIODevice::WriteOnly);if(QDataStream out(&file))

    {       item=ui->listWidget->item(0);       out << *item; } 读文件: QListWidgetItem *item = new QListWidgetItem ();  QFile file("file.dat");  if(file.open(QIODevice::ReadOnly))

    {

        QDataStream in(&file);    in >> *item;    ui->listWidget->addItem(item);

    }

     

    这样就很方便了,qt很给力!

    最新回复(0)