2009年1月12日 星期一

main.cpp

#include
#include
#include
#include
#include
#include
#include
#include "cc.h"

//建構函式
edit::edit(QWidget *parent):QWidget(parent)
{
setupUi( this );
QObject::connect(this->pushButton, SIGNAL(clicked()), this, SLOT(openfile()));
QObject::connect(this->pushButton_2, SIGNAL(clicked()), this, SLOT(savefile()));
}


//開檔案到textEdit上秀出來
void edit::openfile()
{

//開檔路徑
QString fileName = QFileDialog::getOpenFileName(this->textEdit, "Open Text File",
"C:\\", "Text Files (*.txt *.java *.c *.cpp);;All files (*.*)");

//開檔路徑給QFile
QFile file(fileName);

//開檔成功才做( QIODevice::ReadOnly 開檔成功傳1)
if(file.open(QIODevice::ReadOnly)) {

//把檔名的路徑給標題title
this->setWindowTitle(fileName);

//由於將讀取的是文字檔案,使用QTextStream輔助,可以使用其readAll()方法一次讀進檔案中所有的文字
QTextStream stream(&file);
textEdit->setText(stream.readAll());
}
file.close();
}


//存檔
void edit::savefile()
{

//存檔路徑
QString fileName = QFileDialog::getSaveFileName(this->textEdit, "Save Text File",
"C:\\", "Text Files (*.txt *.java *.c *.cpp);;All files (*.*)");

//路徑檔名給QFile
QFile file(fileName);

//開啟存檔路徑的檔案來存放 失敗就出現此錯誤訊息
if (!file.open(QFile::WriteOnly QFile::Text))
{
QMessageBox::warning(this,
tr("error"),
tr("sorry %1:\n%2.")
.arg(fileName)
.arg(file.errorString()));
}
//開檔成功可寫入時 把檔案給QTextStream
QTextStream stream(&file);
QApplication::setOverrideCursor(Qt::WaitCursor); //以下動作遊標以漏斗表示
stream <<>toPlainText(); //寫textEdit上的文字存入目標檔案中
QApplication::restoreOverrideCursor(); //到此結束游標漏斗圖示
}

int main(int argc, char *argv[]) {
QApplication app(argc, argv);
edit *txtedir = new edit;
txtedir->show();
return app.exec();
}