鱼C论坛

 找回密码
 立即注册
查看: 3669|回复: 1

[学习笔记] 零基础文本编辑器开发#5

[复制链接]
发表于 2020-12-26 05:19:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
突然心血来潮又把工程打开了,这次本意是解决无法打开文件的问题,结果一看才发现我对"Open"创建了两个对象,一个叫actionOpen一个叫actionOpen_2,然后我所有操作都是在actionOpen上进行的实际上系统用的是actionOpen_2。。。那么把这个小问题解决后我们就可以打开文件了,然而在我随意打开了一个文件后才发现它又双叒叕乱码了 1.png
解决问题的方法就是我们在main.cpp中加入两行代码:
//解决中文乱码
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
(记得要加头文件
然后就可以正常显示了:
2.png
然后我又加了个关闭的功能,原理就是如果文本框内有文字存在,它会询问你是否保存,无论是不保存还是保存后它会将当前文本框内的东西全部清除掉(如果什么都没有它就什么都不做)
代码实现也很简单:
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();
我们来看下效果:
3.gif
最后再加个快捷键,大功告成
最后按照惯例,话不多说,我直接跑路
55RR88Q{89CV0M{BL$IQ7.gif

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-2 07:40:59 From FishC Mobile | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-31 00:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表