#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QTextBrowser>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
private slots:
void findFile();
//void save();
//void saveAs();
//void process();
private:
void createActions();
void createMenus();
void loadFile(const
QString &fileName);
QAction *findAction;
QAction *saveAction;
QAction *saveAsAction;
QAction *processAction;
QAction *exitAction;
QMenu *File;
QMenu *Tools;
QTextEdit *textEdit;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include <QtGui>
#include <QTextStream>
#include <QFile>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
textEdit = new QTextEdit;
textEdit->setReadOnly(true);
setCentralWidget(textEdit);
createActions();
createMenus();
}
void MainWindow::createActions()
{
findAction = new QAction(tr("Open"),this);
connect(findAction, SIGNAL(triggered()), this, SLOT(findFile()));
saveAction = new QAction(tr("Save"), this);
//connect(saveAction, SIGNAL(triggered()), this, SLOT(save()));
saveAsAction = new QAction(tr("Save as"), this);
//connect(saveAsAction, SIGNAL(triggered()), this, SLOT(saveAs()));
processAction = new QAction(tr("&Process"), this);
exitAction = new QAction(tr("Exit"),this);
connect(exitAction, SIGNAL(triggered()), this, SLOT(close()));
}
void MainWindow::createMenus()
{
File = menuBar()->addMenu(tr("File"));
File->addAction(findAction);
File->addAction(saveAction);
File->addAction(saveAsAction);
File->addAction(exitAction);
Tools = menuBar()->addMenu(tr("Tools"));
Tools->addAction(processAction);
}
void MainWindow::findFile()
{
QString fileName =
QFileDialog::getOpenFileName(this,
tr("Open file"),".",
tr("text files(*.txt)"));
if(!fileName.isEmpty())
loadFile(fileName);
}
void MainWindow::loadFile(const QString &fileName)
{
QFile file(fileName);
if(file.open(QIODevice::ReadOnly))
{
QTextStream ts(&file);
this->setWindowTitle(fileName);
textEdit->setText(ts.readAll());
}
}
void MainWindow::save()
{
if(curFile.isEmpty())
{
return SaveAs();
}
else
{
return saveFile(curFile);
}
}
bool MainWindow::saveFile(const QString &fileName)
{
if(!spreadsheet->writeFile(fileName))
{
statusBar()->showMessage(tr("Saving canceled"),2000);
}
setCurrentFile(fileName);
statusBar()->showMessage(tr("File saved"),2000);
return true;
}
bool MainWindow::saveAs()
{
QString fileName = QFileDialog::getSaveFileName(this,
tr("Save Spreadsheet"),".",
tr("Spreadsheet file (*.sp)"));
if(fileName.isEmpty())
return false;
return saveFile(fileName);
}
void MainWindow::closeEvent(QCloseEvent *event)
{
if(okToContinue())
{
writeSettings();
event->accept();
}
else
{
event->ignore();
}
}
void MainWindow::setCurrentFile(const QString &fileName)
{
curFile = fileName;
setWindowMdified(false);
QString shownName tr("Untitiled");
if(!curFile.)
}
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow *w = new MainWindow;
w->show();
return a.exec();
}
重新整理了。。。。。
[ 此帖被gift在2010-09-27 21:25重新编辑 ]