请教word文档转出来的rtf文件qt能显示吗?

omssd 2017-08-13 11:40:05
qt里面的rich text格式跟word的rtf是一回事吗?
现在有个需求是在qt里显示图文混排的帮助文档,文档都是word格式的,转成rtf后在qt里面能显示吗?
...全文
654 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 omssd 的回复:
[quote=引用 2 楼 qqwangfan 的回复:] 可以显示,转成rtf后从文件中读取出来,可以使用qt的TextEdit控件显示所读取的内容。
试了一下,显示的是乱码。关键代码如下: QString rtfn= QFileDialog::getOpenFileName(this,tr("Open File"), "",tr("All file(*)")); ui->lineEdit->setText(rtfn); if(rtfn.count()==0)return; QFile file(rtfn); if(!file.open(QFile::ReadOnly | QFile::Text)){ fprintf(stderr,"open file error on %s\n",rtfn.toAscii().data()); } ui->textEdit->acceptRichText(); QTextStream in(&file); ui->textEdit->setText(in.readAll()); ui->textEdit->show(); 打开一个rtf文档,显示内容是这样的: 请教是什么地方没弄对吗 [/quote] 文档的内容显示并不是乱码,而是rtf文件原始的数据,你估计得对他的原始数据进行分析才能解析得出具体内容。这好复杂。
omssd 2017-08-16
  • 打赏
  • 举报
回复
引用 2 楼 qqwangfan 的回复:
可以显示,转成rtf后从文件中读取出来,可以使用qt的TextEdit控件显示所读取的内容。


试了一下,显示的是乱码。关键代码如下:
QString rtfn= QFileDialog::getOpenFileName(this,tr("Open File"), "",tr("All file(*)"));
ui->lineEdit->setText(rtfn);
if(rtfn.count()==0)return;
QFile file(rtfn);
if(!file.open(QFile::ReadOnly | QFile::Text)){
fprintf(stderr,"open file error on %s\n",rtfn.toAscii().data());
}
ui->textEdit->acceptRichText();
QTextStream in(&file);
ui->textEdit->setText(in.readAll());
ui->textEdit->show();

打开一个rtf文档,显示内容是这样的:


请教是什么地方没弄对吗
  • 打赏
  • 举报
回复
可以显示,转成rtf后从文件中读取出来,可以使用qt的TextEdit控件显示所读取的内容。
omssd 2017-08-15
  • 打赏
  • 举报
回复
引用 2 楼 qqwangfan 的回复:
可以显示,转成rtf后从文件中读取出来,可以使用qt的TextEdit控件显示所读取的内容。
谢谢解答,我回头试试
dext 2017-08-14
  • 打赏
  • 举报
回复
rtf = rich text file

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧