他のコントロールの下に Python コンソール ウィジェット (C++ GUI に) を追加します。
多くのクラスが Python コードに公開される予定で、これには GUI へのアクセスも含まれます (おそらく PyQt も検討します)。
Python コードを別のスレッドで実行する必要がありますか?
長いコマンドを実行している間、GUI がフリーズすることがないので、これは良いアプローチだと思います。しかし、一方で、オブジェクトの状態を保持し、競合を避けるために、他のコントロールを無効にするべきではないでしょうか?
ベストアンサー1
QtアプリケーションでPythonをスクリプト言語として使用するためにPythonインタープリターを埋め込みたいようですので、以下をご覧になることをお勧めします。PythonQt。
PythonQt モジュールを使用すると、Python スクリプトはホスト アプリケーションの GUI と対話できるようになります。
PyQt や Qt Jambi とは異なり、PythonQt はスタンドアロン アプリケーションを作成する開発者をサポートするようには設計されていません。代わりに、Python インタープリターを埋め込む機能を提供し、アプリケーションの一部を Python に簡単に公開できるようにすることに重点を置いています。
あなたのニーズを正しく理解していれば、必要なのはそれだけです。
ピクテそしてパイサイド(Nokia により公式にサポートされています) バインディングを提供することで、Python プログラムから Qt 機能にアクセスすることを目的としています。
アプリケーションにPyQtを埋め込むことも可能です(Qtアプリケーションでも) を使用すると、Python スクリプトはアプリケーション スクリプト API と対話しながら独自の GUI を提供できるようになります。
スレッドの安全性については、Qt はスレッドセーフな方法でイベントを投稿し、スレッド間でシグナル スロット接続を提供します。
参考文献: