鱼C论坛

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

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

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

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

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

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

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-2 07:40:59 From FishC Mobile | 显示全部楼层
厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-4 20:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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