首页 > 代码库 > Qt Creator (C++)保存文件

Qt Creator (C++)保存文件

最近在学习QT Creator,感觉很是头大。可能是刚刚学的原因吧,感觉完全没有C#好,好多东西完全搞不懂。

C++虽然很灵活,但是也可能是太灵活了,总是搞得人一头雾水。

一个简简单单的保存文件,就让人费了半天劲。还是先记下来,防止以后用到时忘记。

一、首先在头文件内加入引用(即 ***.h文件内)

#include <QListWidget>#include <QFileDialog>#include <QMessageBox>

二、在头文件内加入方法声明(即 ***.h文件内)

class MainWindow : public QMainWindow{    Q_OBJECTpublic:    MainWindow(QWidget *parent = 0);    ~MainWindow();private:void SaveFile();                                        //保存实时信息数据点击事件
};
#endif // MAINWINDOW_H

三、在源文件内添加方法的实现(即 ****.cpp文件内)

#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent){        DOTO....}MainWindow::~MainWindow(){}void MainWindow::SaveFile(){    int count = ltwMsg->count ();        if(count>0)        {            QString fileName = QFileDialog::getSaveFileName (this,                        tr("保存实时数据"),"",tr("日志文件 (*.txt)"));            if(!fileName.isEmpty ())            {                QFile file(fileName);                if(!file.open (QIODevice::WriteOnly))                {                    QMessageBox msgBox;                    msgBox.setText("保存文件失败!");                    msgBox.exec();                }                else                {                    QString qs;                    for(int i=0;i<count;i++)                    {                        QListWidgetItem *item = ltwMsg->item(i);                        QString s = item->text();                        qs = qs+s+"\r\n";                    }                    QTextStream stream(&file);                    stream << qs;                    stream.flush ();                    file.close ();                }            }        }}