2016-07-22 15 views
0

pyQtとpyInstallerを使用して小さなプログラムを構築しています。 私はQMainWindowに背景画像を追加しようとしました:pyinstaller "スタイルシートを解析できませんでした"

class pyPrimaMainWindow(QMainWindow): 
    def __init__(self): 
     ...do some stuff... 
     self.setWindowIcon(QIcon(os.path.join(self.py_prima.resource_path(), "TH.ico"))) # <- this works 
     self.setStyleSheet("QMainWindow{{border-image: url({0});background-size:100%;}}".format(os.path.join(self.py_prima.resource_path(), "bg.png"))) 

resource_path()メソッドは、次のようになります。

def resource_path(self): 
    """ Get absolute path to resource, works for dev and for PyInstaller """ 
    # PyInstaller creates a temp folder and stores path in _MEIPASS 
    base_path = getattr(sys, '_MEIPASS', "C:/Users/Tobias/eclipse/workspace/PyPrima/data/") 
    #   except Exception: 
    #    base_path = 

    print(base_path) 
    return base_path 

それはpyInstallerのウィキからコピーされていますが、absoulteパスと作品を返します。他の写真/アイコン用。 しかし、pyInstallerで実行可能ファイルをビルドすると、プログラムはうまく動作しますが、バックグラウンドイメージはありません。私はPythonのファイルを実行すると、それはすべて正常に動作します

"could not parse stylesheet of object ..." 

代わりに、コンソール出力...

この上の任意のアイデア?

ありがとうございます!

答えて

0

誰か他の人が同じ問題を抱えている場合に備えて、自分の質問に答えます。

fileseparatorsが間違っている... は

bgpath = os.path.join(self.py_prima.resource_path(), "bg.png") 
bgpath = bgpath.replace("\\", "/") 
self.setStyleSheet("QMainWindow{{border-image: url({0});background-size: 100%;}}".format(
     bgpath)) 
でそれを修正します
関連する問題