Welcome

首页 / 软件开发 / C++ / Qt的文本编辑器(上)

Qt的文本编辑器(上)2013-05-27今天开始呢,我们就开始用Qt做两个比较实用的东西,这一篇我们主要探究下文本编辑器的实现。

首先我们来看下我们的大致框架:

class MainWindow : public QMainWindow { Q_OBJECT public:MainWindow(); protected: void closeEvent(QCloseEvent *event);
对于所有定义的信号和槽的类,在类定义开始处的O_OBJECT宏都是必需的。

private slots: void newFile(); void open(); bool save(); bool saveAs(); void about(); void documentWasModified();
私有槽中包含了创建新文件、打开文件、保存文件以及about。当然了我们还有一个在程序中最重要的函数documentWasModified(),实现的共ing功能是判断是否文件被修改。

private: void createActions(); void createMenus(); void createToolBars(); void createStatusBar(); void readSettings(); void writeSettings(); bool maybeSave(); void loadFile(const QString &fileName); bool saveFile(const QString &fileName); void setCurrentFile(const QString &fileName); QString strippedName(const QString &fullFileName); QTextEdit *textEdit; QString curFile; QMenu *fileMenu; QMenu *editMenu; QMenu *formMenu; QMenu *helpMenu; QToolBar *fileToolBar; QToolBar *editToolBar; QAction *newAct; QAction *openAct; QAction *saveAct; QAction *saveAsAct; QAction *exitAct; QAction *automaticAct; QAction *typefaceAct; QAction *cutAct; QAction *copyAct; QAction *pasteAct; QAction *aboutAct; QAction *aboutQtAct; };