这期文章我们进行主窗口的一些函数的定义,同时导入一些文字处理软件的状态栏会用到的图标。下面图片是图标导入到项目后的一个示例,图标可以到阿里矢量图标库里面找到。
一、导入图标资源:
1.首先在项目目录的位置创建一个images的文件,然后将收集好的图标放入该文件夹中,如下两图所示:
2.之后在项目中的Qt文件资源导入images文件夹中的图标资源:
导入文件资源的操作到此结束!
二、主窗体的一些函数的定义
直接给出代码:
#ifndef MYWORD_H
#define MYWORD_H
#include <QMainWindow>
#include <QPrintDialog>
#include <QPrinter>
#include <QPrintPreviewDialog>
class MyChild;
class QAction;
class QMenu;
class QComboBox;
class QFontComboBox;
class QMdiArea;
class QMdiSubWindow;
class QSignalMapper;
class MyWord : public QMainWindow
{
Q_OBJECT
public:
MyWord(QWidget *parent = nullptr);
~MyWord();
protected:
void closeEvent(QCloseEvent *event);
private slots:
void fileNew();
void fileOpen();
void fileSave();
void fileSaveAs();
void filePrint();
void filePrintPreview();
void printPreview(QPrinter *);
void undo();
void redo();
void cut();
void copy();
void paste();
void about();
void textBold();
void textItalic();
void textUnderline();
void textAlign(QAction *a);
void textStyle(int styleIndex);
void textFamily(const QString &f);
void textSize(const QString &p);
void textColor();
void updateMenus();
void updateWindowMenu();
MyChild *createMyChild();
void setActiveSubWindow(QWidget *window);
private:
void createActions();
void createMenus();
void createToolBars();
void createStatusBar();
void enabledText();
void fontChanged(const QFont &f);
void colorChanged(const QColor &c);
void alignmentChanged(Qt::Alignment a);
MyChild *activeMyChild();
QMdiSubWindow *findMyChild(const QString &fileName);
QMdiArea *mdiArea;
QSignalMapper *windowMapper;
//菜单
QMenu *fileMenu;
QMenu *editMenu;
QMenu *formatMenu;
QMenu *fontMenu;
QMenu *alignMenu;
QMenu *windowMenu;
QMenu *helpMenu;
//工具栏
QToolBar *fileToolBar;
QToolBar *editToolBar;
QToolBar *formatToolBar;
QToolBar *comboToolBar;
QComboBox *comboStyle;
QFontComboBox *comboFont;
QComboBox *comboSize;
//动作(Action)
QAction *newAct;
QAction *openAct;
QAction *saveAct;
QAction *saveAsAct;
QAction *printAct;
QAction *printPreviewAct;
QAction *exitAct;
QAction *undoAct;
QAction *redoAct;
QAction *cutAct;
QAction *copyAct;
QAction *pasteAct;
QAction *boldAct;
QAction *italicAct;
QAction *underlineAct;
QAction *leftAlignAct;
QAction *centerAct;
QAction *rightAlignAct;
QAction *justifyAct;
QAction *colorAct;
QAction *closeAct;
QAction *closeAllAct;
QAction *tileAct;
QAction *cascadeAct;
QAction *nextAct;
QAction *previousAct;
QAction *separatorAct;
QAction *aboutAct;
QAction *aboutQtAct;
};
#endif // MYWORD_H
这里先列出将要实现的一些函数,具体功能下期博客更新。