本章节接着上文,实现文本编辑器的新内容创建。
首先我们创建一个新的MyChildWnd
按照以下内容添加我们的代码:
class MyChildWnd : public QTextEdit
{
Q_OBJECT
public:
MyChildWnd();
QString myCurDocPath;
void newDoc(); //创建新文档
QString getCurDocName();
bool loadDoc();
bool saveDoc();
bool savesDoc();
bool saveDocOpt();
void setAlignOfDocumentText(int aligntype);
void setParaStyle(int pstyle);
protected:
void closeEvent(QCloseEvent *event);
private:
void DocBeModified();
private:
bool beSaved;
void setCurDoc(const QString &docName);
void promptSave();
};
#endif // MYCHILDWND_H
创建文档
我们先来写我们的创建新文档内容
#include "mychildwnd.h"
MyChildWnd::MyChildWnd() {
setAttribute(Qt::WA_DeleteOnClose);//子窗口关闭时销毁该对象实例
beSaved = false;
}
void MyChildWnd::newDoc()
{
//设置窗口编号
static int wedSeqNum = 1;
//设置当前文档word 命名为"Word 文档 编号"的形式,编号在使用后自动+1
myCurDocPath = tr("Word 文档 %1").arg(wedSeqNum++);
//设置窗口标题,文档被改动后在其名称后面显示"*";
setWindowTitle(myCurDocPath+"[*]"+tr("-MyWord"));
//文档被改动时发送contentsChanged信号,执行自定义docBeModified()槽函数
connect(document(),&QTextDocument::contentsChanged,this,&MyChildWnd::DocBeModified);
}
QString MyChildWnd::getCurDocName()
{
return QFileInfo(myCurDocPath).fileName();//返回文件路径
}
标签:文本编辑,myCurDocPath,QT,void,MyChildWnd,开发,文档,QString,bool From: https://www.cnblogs.com/AnnaStore/p/18611018