最近在學習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 (); } } } }