質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

1772閲覧

PyQtを用いたプログラムをexe化したら、pythonで実行したときには出ないエラーが発生する

tkgo

総合スコア0

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/05/04 08:14

問題点

PyQtを用いてWebカメラの映像からface_recognitionを使い顔判定を行い、その判定結果を出力するプログラムを作成しています。Pythonではエラーが発生しない状態で全く問題なく動くのですが、Pyinstallerを用いてexeファイルにすると以下のエラーが表示されます。

QWidget: Must construct a QApplication before a QWidget

調べてみたところ、QWidgetの前にQApplicationを読まなければならないとわかりましたが、そもそもPythonで実行したときにはエラーが発生せずにexeにした状態だとエラーが発生しているので、何が悪く発生したのか全くわかりません。また、処理の順序を考えるとQApplicationの後にQWidgetを読んでいるので順序自体もまちがってはいないようにも見えます。

該当のソースコード

Python

1#430~437行目 2if __name__ == '__main__': 3 app = QApplication(sys.argv) 4 app.setWindowIcon(QIcon("icon.ico")) 5 main_window = MainWindow() #48行目 class MainWindow(QMainWindow) 6 control_Panel = controlPanel() #196行目 class controlPanel(QWidget) 7 main_window.show() 8 control_Panel.show() 9 app.exec_()

試したこと

Python

1 app = QApplication(sys.argv)

実際に書いた行番号でのことだけを言えばQApplicationが後に書かれているのは事実なので、先程の部分のこれをすべてのライブラリのインポートが完了した直後に行われるようにしてみました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問