马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
突然心血来潮又把工程打开了,这次本意是解决无法打开文件的问题,结果一看才发现我对"Open"创建了两个对象,一个叫actionOpen一个叫actionOpen_2,然后我所有操作都是在actionOpen上进行的实际上系统用的是actionOpen_2。。。那么把这个小问题解决后我们就可以打开文件了,然而在我随意打开了一个文件后才发现它又双叒叕乱码了
解决问题的方法就是我们在main.cpp中加入两行代码://解决中文乱码
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
(记得要加头文件)
然后就可以正常显示了:
然后我又加了个关闭的功能,原理就是如果文本框内有文字存在,它会询问你是否保存,无论是不保存还是保存后它会将当前文本框内的东西全部清除掉(如果什么都没有它就什么都不做)
代码实现也很简单:if(!(ui->textEdit->document()->isEmpty())) {
if(QMessageBox::Yes == QMessageBox::information(this, " ",
"Do you want to save the current file",
QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)) {
QString fileName=QFileDialog::getSaveFileName(this,"Save File",QDir::currentPath());
QFile *file=new QFile;
file->setFileName(fileName);
bool ok=file->open(QIODevice::WriteOnly);
if(ok)
{
QTextStream out(file);
out<<ui->textEdit->toPlainText();
file->close();
delete file;
}
}
}
ui->textEdit->clear();
我们来看下效果:
最后再加个快捷键,大功告成
最后按照惯例,话不多说,我直接跑路
|