如何读取资源文件(比如 assets/font-awesome/fonts/fontawesome-webfont.ttf
或 assets/jquery/js/jquery-1.11.0.min .js
,在 myresources.qrc
文件中声明并使用 pyrcc5.exe
编译为 myresources.py
模块)字节数组、字节字符串 (b'') 和字符串 ('')?
我已成功实现自定义架构处理程序(以处理 myscheme://controller/action/?param1=100 等请求,从 QNetworkAccessManager
和 QNetworkReply
派生类>)。我需要这个,因为如果以后这个应用程序上线,我将体验到(更多)无缝迁移过程。
现在我需要在自定义方案中将资源(html、css、js、图像、字体等)中的文件提供给QWebView
。我尝试过 QFile
和它的 readAll
方法。
这是我的代码:
f = QFile('qrc:///assets/jquery/js/jquery-1.11.0.min.js')
f.open(QIODevice.ReadOnly | QIODevice.Unbuffered)
try:
self.content = f.readAll()
finally:
f.close()
看起来f.readAll()
什么也没做。
最佳答案
您的资源路径不正确,并且异常处理程序是多余的,因为如果打开/读取失败,则不会引发错误(这不是错误或故障 - Qt 只是与 Python 的工作方式不同)。
尝试这样的事情:
stream = QFile(':/assets/jquery/js/jquery-1.11.0.min.js')
if stream.open(QFile.ReadOnly):
js = str(stream.readAll(), 'utf-8')
stream.close()
else:
print(stream.errorString())
关于python - 在 Qt 中将资源读入字节数组 (PyQt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22861534/