• 4460阅读
  • 1回复

有出问题了,谁来告诉我一下,为什么我的QTextEdit类没显示文本? [复制链接]

上一主题 下一主题
离线gift
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-26
— 本帖被 XChinux 执行加亮操作(2010-10-21) —
#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重新编辑 ]
离线抠涕
只看该作者 1楼 发表于: 2010-09-27
。。。整理一下代码
快速回复
限100 字节
 
上一个 下一个