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 (); } } } }
想找一个无人的角落发呆……