web-dev-qa-db-ja.com

リソースファイルをPyQtコードにインポートしますか?

Qtのドキュメンタリーや、これと似ていない多くの質問を見てきましたが、どうすればそれができるのかまだわかりません。

リソースファイルをPython=コードにインポートする方法を完全に確信していないので、pixmapは問題なく表示されます。


同じディレクトリにすべてのファイルがあり、qrcを作成しました。ファイルを作成してコンパイルします:rcc -binary resources.qrc -o res.rccリソースファイルを作成します。

Res_rccをインポートしましたが、ラベルのピックスマップがまだ表示されていません。

import res_rcc


これは私のqrcにあったものです。ファイル:

<RCC>
  <qresource prefix="newPrefix">
    <file>download.jpeg</file>
  </qresource>
</RCC>

質問:

PyQtコードでリソースファイルをインポートするにはどうすればよいですか? ピクスマップが.qrcリソースファイルと同じディレクトリにある場合でも、フルパスを指定する必要がありますか?

14
ShellRox

Pyqtの場合は、pyrcc4を使用する必要があります。これは、Pythonのrccに相当します。

pyrcc4 -o resources.py resources.qrc

これにより、リソースを使用可能にするためにpythonコードにインポートする必要があるresources.pyモジュールが生成されます。

import resources

コードでリソースを使用するには、「:/」プレフィックスを使用する必要があります。

from PyQt4.QtCore import *
from PyQt4.QtGui import *

import resources

pixmap = QPixamp(":/newPrefix/download.jpeg")

The PyQt4 Resource System および The Qt Resource System を参照してください

14
Fabio

PyQt5では、コマンドラインで記述する必要があります

pyrcc5 -o resources.py resource/resources.qrc

なぜなら、コードにインポートするためにresource.pyを生成する必要があるからです。これでタイプできます

import resources

pythonコード

7
ralfontez