2017-12-07 22 views
0

私はPyQt5 QWebengineアプリケーションを作成しました。 アプリでFlashが動作していないことがわかりました。 。\ Windowsの\ System32 \ Macromed \ Flash \には、働いている: は、読書、多くの後、私はoutフォルダ内のpepflashplayer64を持つ_ * DLL & manifest.jsonを固定内部コマンドでスクリプトを実行する引数を含めるQwebengine pepflashplayer

Cことがわかりました。

しかし、私は(アプリでpepflashplayerを出荷したい、と PATH環境のVARにカスタムフラッシュフォルダを追加し、効果を持っていない、または sys.path.insert)

コマンド

myapp.py --ppapi-flash-path=C:\Flash\pepflashplayer64_27_0_0_187.dll 

は機能しますが、スクリプトが起動されたときに追加の補助関数を内部的に渡す方法はありますか?

私はsys.arg [0]スクリプトを余分なコマンドで実行したが、成功していないという汚いハックを試みました。

if __name__ == "__main__": 
    # print sys.argv 
    flash = (' --ppapi-flash-path=C:\Flash\pepflashplayer64_27_0_0_187.dll').split() 
    # print flash 
    noooo = (sys.argv[0] + flash[0]).split() 
    import sys 
    app = QtWidgets.QApplication(noooo) 
    # ... the rest of your handling: `sys.exit(app.exec_())`, etc. 
+0

「QtWidgets.QApplication」にはどのような議論がありますか?その文書を要約できますか? – hpaulj

+0

中 "メインイベントループに入り、exit()が呼び出されるまで待ってから、exit()に設定された値を返します(quit()を介してexit()が呼び出された場合は0です)。 メインイベントループはウィンドウシステムからイベントを受け取り、アプリケーションウィジェットにディスパッチします。 –

+0

私は基本的に、sys.argv [1]を内部的に設定したいが、コマンドラインで最後の引数を入力する必要はない。 –

答えて

0

大丈夫私は動作するようになったので、私は携帯用のブラウザでアプリを作ることができ、ソリューションは私が思ったよりも簡単でした。 このように2番目の内部引数を解析します。

if __name__ == "__main__": 
    programname = os.path.dirname(sys.argv[0]) #get current script full folder path 
    pepperpflash = ' --ppapi-flash-path=' + programname + '/Flash/pepflashplayer64_27_0_0_187.dll' 
    try: 
     app = QtWidgets.QApplication(sys.argv + [pepperpflash]) 
    except: 
     app = QtWidgets.QApplication(sys.argv) 
    # ... the rest of your handling: `sys.exit(app.exec_())`, etc. 
関連する問題