微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Qt:使用poppler库打开qrc pdf

如何解决Qt:使用poppler库打开qrc pdf

| 我使用poppler库显示pdf的函数遇到了一些麻烦。下面的代码是发生问题的函数。 const QString&file是文件的路径 int页面是必须打开的页面 当我将文件设置为真实路径时(例如\“ / Users / User / Documents / xxx.pdf \”),打开它没问题。但是,当我给出一个qrc文件的路径(\“:/ files / xxx.pdf \”)时,它将无法正常工作。我想用它来显示应用程序内的用户手册。 我还尝试过先用它制作一个QFile,将其打开并执行readAll,然后通过执行“ 0”来加载接收到的QByteArray,但是在以ReadOnly模式打开QFile时它已经出错。
void class::setPdf(const QString &file,int page)
{
    Poppler::Document *doc = Poppler::Document::load(file);
    if (!doc) {
        QMessageBox msgBox(QMessageBox::Critical,tr(\"Open Error\"),tr(\"Please check preferences: cannot open:\\n\") + file,QMessageBox::Ok,this);
        msgBox.exec();
    }
    else{ /*Code for displaying the pdf,which works fine*/
    }
}
我希望你能帮帮我, 问候, 马特     

解决方法

           我也尝试过先制作QFile   从中打开并执行   readAll,然后加载QByteArray   收到者   正在执行Poppler :: Document :: loadFromData(   qbytearray),但它已经出错   在ReadOnly中打开QFile时   模式。
QFile f;
f.setFileName(\":/skin/AppIcon16.png\");
f.open(QIODevice::ReadOnly);
QByteArray r=f.readAll();
从资源中完美读取所有数据,并进行了检查。所以我建议您在尝试时做错了。可能是路径错误,也许还有其他...     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?