找回密码
 立即注册
收起左侧
楼主: yafeilinux

第6篇 基础(六)实现Qt文本编辑功能

154
回复
110750
查看
  [复制链接]
累计签到:1568 天
连续签到:1 天
2013-9-11 11:33:22 显示全部楼层
very0717 发表于 2013-9-11 00:12
// 获得文件的标准路径
   curFile = QFileInfo(fileName).canonicalFilePath();
这句对吗?


QString QFileInfo::canonicalFilePath () const
Returns the canonical path including the file name, i.e. an absolute path without symbolic links or redundant "." or ".." elements.

If the file does not exist, canonicalFilePath() returns an empty string.


有的。帮助里面查看canonicalFilePath关键字

点评

终于找出问题来了,不小心用了中文的括号了。  发表于 2013-9-11 19:04
回复 支持 反对

使用道具 举报

累计签到:46 天
连续签到:1 天
2013-9-14 15:20:56 显示全部楼层
在执行程序后,出现无法写入文件(后面显示文件路径),Unknown error
这是怎么回事啊?求解
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-9-16 14:04:45 显示全部楼层
kang清峻 发表于 2013-9-14 15:20
在执行程序后,出现无法写入文件(后面显示文件路径),Unknown error
这是怎么回事啊?求解 ...

可以下载源码试试。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2013-9-27 15:13:30 显示全部楼层
学完此篇,感觉有两个小问题:
1)open文件后保存会跳到另存为,解决:在loadFile()中添加isUntitled = false;
2)保存后关闭程序会有QMessageBox提示,解决:在saveFile()中添加ui->textEdit->document()->setModified(false);
不知是否正确。
回复 支持 反对

使用道具 举报

尚未签到

2013-10-24 23:52:42 显示全部楼层
留个脚印,明天继续学习,今天刚开始学,看这章有点难度了,明天再学
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-11-6 19:47:23 显示全部楼层
  学习下  谢谢分享

回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2013-11-23 16:54:51 显示全部楼层
貌似文件用open打开了都没有用close关闭,算不算不严谨。。
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-11-25 11:14:45 显示全部楼层
ifpelset 发表于 2013-11-23 16:54
貌似文件用open打开了都没有用close关闭,算不算不严谨。。

呵呵,是啊。需要在读取完后关闭的。
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2013-11-30 14:03:58 显示全部楼层
curFile = tr("未命名.txt");为何我窗口显示的是乱码?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-12-2 09:24:08 显示全部楼层
xin_sw 发表于 2013-11-30 14:03
curFile = tr("未命名.txt");为何我窗口显示的是乱码?

把编码改成utf-8试试。
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-12-22 21:17:52 显示全部楼层
我的编译提示错误:E:\C++develop\prongram\myMainWindow-build-desktop-Qt_4_8_1__4_8_1____\..\myMainWindow\mainwindow.cpp:-1: In member function 'void MainWindow:n_action_Exit_triggered()':
E:\C++develop\prongram\myMainWindow-build-desktop-Qt_4_8_1__4_8_1____\..\myMainWindow\mainwindow.cpp:222: 错误:'on_action_Close_triggered' was not declared in this scope
老是提示这个动作未申明问题
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2013-12-22 21:19:52 显示全部楼层
删除掉关闭中动作代码'on_action_Close_triggered;可以编译通过
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-12-23 13:51:18 显示全部楼层
ktz 发表于 2013-12-22 21:19
删除掉关闭中动作代码'on_action_Close_triggered;可以编译通过

最好下载源码看看吧,你应该没有从设计模式生成关闭菜单项的槽,如果删掉这个,关闭功能还能实现吗?
回复 支持 反对

使用道具 举报

累计签到:99 天
连续签到:1 天
2014-2-14 15:55:27 显示全部楼层
楼主您好,我有个问题:在本程序中另存为操作应该能选择自定义的保存路径和文件名,可是QString fileName = QFileDialog::getSaveFileName(this,tr("另存为"),curFile);这句好像是将保存路径和文件名都写死了,并且程序运行结果也是如此,不知道我理解的对不对?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-2-17 10:35:10 显示全部楼层
Qthm 发表于 2014-2-14 15:55
楼主您好,我有个问题:在本程序中另存为操作应该能选择自定义的保存路径和文件名,可是QString fileName = ...

不是的。这个函数的返回值是选取的路径。而里面的curFile只是事先设置的默认值。
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2014-2-22 17:34:49 显示全部楼层
       楼主,这句代码始终有问题,编译不通过。把它注释掉就正常了
QMessageBox::warning(this, tr("多文档编辑器"),tr("无法写入文件 %1:/n %2").arg(fileName).arg(file.errorString()));
这是错误信息,这是什么原因:
D:\Qt\WorkSpace\myMainWindow\mainwindow.cpp:83: 错误:expected ')' before 'tr'
D:\Qt\WorkSpace\myMainWindow\mainwindow.cpp:83: 错误:no matching function for call to 'QMessageBox::warning(MainWindow* const, QString)'
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-2-25 19:31:10 显示全部楼层
Jack-Lee 发表于 2014-2-22 17:34
楼主,这句代码始终有问题,编译不通过。把它注释掉就正常了
QMessageBox::warning(this, tr("多文 ...

不应该啊。你下载后面提供的源码试试。
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2014-2-25 19:51:41 显示全部楼层
yafeilinux 发表于 2014-2-25 19:31
不应该啊。你下载后面提供的源码试试。

后来发现是使用了中文的“,”,所以出现了问题,改为英文的就好了。THX
回复 支持 反对

使用道具 举报

累计签到:11 天
连续签到:1 天
2014-3-6 10:39:01 显示全部楼层
楼主!我到定义bool MainWindow::saveFile(const QString &fileName)
{
   QFile file(fileName);
编译是出错说QFile没有定义,请问是怎么回事?我定义#include <QFile>还是错!
回复 支持 反对

使用道具 举报

累计签到:11 天
连续签到:1 天
2014-3-6 11:03:08 显示全部楼层
Masterzhoujun 发表于 2014-3-6 10:39
楼主!我到定义bool MainWindow::saveFile(const QString &fileName)
{
   QFile file(fileName);

已经解决了!!!!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

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

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了