如何读取资源文件(例如assets/font-awesome/fonts/fontawesome-webfont.ttf
或assets/jquery/js/jquery-1.11.0.min.js
,其在myresources.qrc
文件中声明并使用编译到pyrcc5.exe
模块的myresources.py
in到字节数组,字节串(b'')和字符串('')?
我已成功设法实现自定义架构处理程序(处理myscheme:// controller / action /?param1 = 100等请求,从QNetworkAccessManager
和QNetworkReply
派生类)。我需要这个,如果以后这个应用程序应该上线,我将体验(更多)无缝迁移过程。
现在我需要在我的自定义方案中将资源(html,css,js,images,fonts,...)中的文件提供给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()
什么也没做。
答案 0 :(得分:1)
您的资源路径不正确,并且异常处理程序是多余的,因为如果打开/读取失败则不会引发错误(这不是错误或错误 - 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())