WPS字体格式
Shift + F5 结束断点调试
√选上
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "childwnd.h"
#include <QSignalMapper>
#include <QWidget>
#include <QMdiSubWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void initMainWindow();
void docNew();
void docOpen();
void docSave();
void docSaveAs();
void docUndo();
void docRedo();
void docCut();
void docCopy();
void docPaste();
void textBold();
void textItalic();
void textUnderline();
private slots:
void on_newAction_triggered();
void refreshMenus();
void addSubWndListMenu();
void on_closeAction_triggered();
void on_closeAllAction_triggered();
void on_titleAction_triggered();
void on_cascadeAction_triggered();
void on_nextAction_triggered();
void on_previousAction_triggered();
void setActiveSubWindow(QWidget *wnd);
void on_openAction_triggered();
void on_saveAction_triggered();
void on_saveAsAction_triggered();
void on_undoAction_triggered();
void on_redoAction_triggered();
void on_cutAction_triggered();
void on_copyAction_triggered();
void on_pasteAction_triggered();
void on_boldAction_triggered();
void on_italicAction_triggered();
void on_underlineAction_triggered();
protected:
void closeEvent(QCloseEvent *event);
private:
void formatEnabled();
ChildWnd* activateChildWnd();
QMdiSubWindow *findChildWnd(const QString& docName);
private:
Ui::MainWindow *ui;
QSignalMapper *m_WndMapper; //信号映射器
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "childwnd.h"
#include <QFontDatabase>
#include <QMdiSubWindow>
#include <QCloseEvent>
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
initMainWindow();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::initMainWindow()
{
//初始化字号列表项
QFontDatabase fontdb;
foreach(int fontsize, fontdb.standardSizes())
{
ui->sizeComboBox->addItem(QString::number(fontsize));
}
QFont defFont; //当前应用程序默认的字体
QString sFontSize;
int defFontSize; //当前应用程序默认字体的字号
int defFontindex; //当前字号在组合框中的索引号
defFont = QApplication::font();
defFontSize = defFont.pointSize();
sFontSize = QString::number(defFontSize);
defFontindex = ui->sizeComboBox->findText(sFontSize);
ui->sizeComboBox->setCurrentIndex(defFontindex);
//设置多文档区域滚动条
ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
refreshMenus();
connect(ui->mdiArea, &QMdiArea::subWindowActivated, this, &MainWindow::refreshMenus);
addSubWndListMenu();
connect(ui->menu_W, &QMenu::aboutToShow, this, &MainWindow::addSubWndListMenu);
//创建信号映射器
m_WndMapper = new QSignalMapper(this