Qt Creator (C++)保存文件


最近在學習QT Creator,感覺很是頭大。可能是剛剛學的原因吧,感覺完全沒有C#好,好多東西完全搞不懂。

C++雖然很靈活,但是也可能是太靈活了,總是搞得人一頭霧水。

一個簡簡單單的保存文件,就讓人費了半天勁。還是先記下來,防止以后用到時忘記。

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

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

二、在頭文件內加入方法聲明(即 ***.h文件內)

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    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 ();
                }
            }
        }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM