아래 스크립트는 pyrcc
에 의해 생성 된 resources_rc.py
파일의 모든 원본 리소스와 qrc 파일을 재구성합니다. PyQt4/5 및 Python 2/3에서 작동합니다. 파일은 지정된 resources_rc.py
파일과 동일한 디렉토리의 임시 디렉토리에 기록됩니다.
사용법 :
python qrc_gen.py path/to/resources_rc.py
qrc_gen.py :
import sys, os, tempfile
import sip
sip.setapi('QString', 2)
from PyQt4 import QtCore
# from PyQt5 import QtCore
respath = os.path.abspath(sys.argv[1])
dirpath = os.path.dirname(respath)
sys.path.insert(0, dirpath)
import resources_rc
tmpdir = tempfile.mkdtemp(prefix='qrc_', dir=dirpath)
it = QtCore.QDirIterator(':', QtCore.QDirIterator.Subdirectories)
files = []
while it.hasNext():
uri = it.next()
path = uri.lstrip(':/')
if path.startswith('qt-project.org'):
continue
tmp = os.path.join(tmpdir, path)
if it.fileInfo().isDir():
try:
os.makedirs(tmp)
except OSError:
pass
else:
res = QtCore.QFile(uri)
res.open(QtCore.QIODevice.ReadOnly)
with open(tmp, 'wb') as stream:
stream.write(bytes(res.readAll()))
res.close()
files.append(' <file>%s</file>\n' % path.lstrip(':/'))
with open(os.path.join(tmpdir, 'resources.qrc'), 'w') as stream:
stream.write('<!DOCTYPE RCC><RCC version="1.0">\n')
stream.write('<qresource>\n%s</qresource>\n' % ''.join(files))
놀라운 사람이, 난 아무데도하지만 여기 내 문제에 대한 해결책을 찾을 수 없습니다. 멋진 작품과 LOL 다시 나를 도와 주셔서 고맙습니다. @ekhumoro – Aadit
호기심 때문에'app.ui' 파일도'app.py' 파일에서 복원 할 수 있습니까? @echumoro – Aadit
@Aadit과 관련이있는 곳을 찾을 수 없기 때문에. 전체 원본을 복원하는 것은 어렵습니다. 부분적인 해결책은 [이 답변] (https://stackoverflow.com/a/27135298/984421)에 나와 있습니다. – ekhumoro