上一期,我们已经把大致的框架给完成了,那么今天,我们就把剩下的什么复制啊,改变字体啊什么的给做一下。
那我们就一步一步的来就可以了:
新建word:
void MyWord::fileNew()
{
qDebug()<<"hhh";
MyChild *child=createMyChild();
child->NewFile();
child->show();
enabledText();//使得 字体设置菜单可用
}
我们就是创建一个child,然后调用child.cpp中的创建就可以了,最后别忘了加上enabledText(),这样能使得字体设置菜单可用。这样我们就新建了一个word文档。
下一步打开文档:
再打开之前,要先定义一个QString,来保存要打开的文件名称,如果不为空就判断是否已经打开,已经打开过的话,就设置子窗口为活动窗口,没有打开的话,就直接加载到子窗口来。
void MyWord::fileOpen()
{
QString filename=QFileDialog::getOpenFileName(this,tr("打开"),QString(),tr("HTML 文档(*.htm *.html);;所有文件(*.*)"));
if(!filename.isEmpty()){
QMdiSubWindow *existing=findMyChild(filename);
if(existing){
//如果发现该文件已经打开,则直接设置为子窗口为活动窗口
mdiArea->setActiveSubWindow(existing);
return ;
}
MyChild *child=createMyChild();
//如果文件没有打开则直接加载要打开的文件,并添加新的子窗口
if(child->LoadFile(filename)){
statusBar()->showMessage(tr("文件已经加载"),2000);
child->show();
enabledText();
}else{
child->close();
}
}
}
接着就是保存以及另存为:直接调用就好:
void MyWord::fileS