ホームページ  >  記事  >  バックエンド開発  >  QWidget: QApplication は QPaintDevice の前に構築する必要があります

QWidget: QApplication は QPaintDevice の前に構築する必要があります

WBOY
WBOY転載
2024-02-09 11:50:141141ブラウズ

QWidget:必须在 QPaintDevice 之前构造 QApplication

質問内容

まず、互換性の理由から、Windows 7-64ビットとpyqwt5.2.0、pyqt4.5.4、numpy1.3.0を使用しています。 、python2.6.2 32ビット。

スクリプトを実行すると、次のように表示されます:

リーリー

Web サーフィンをして、これを修正する方法を探していると、qwidgetqobjectqpaintdevice から継承していることがわかりました (私が使用しているほぼすべてのオブジェクトは、から継承しています)それ)、qmainwindowqwidget を継承します。また、いくつかの静的関数がいくつかのクラスを使用しようとしていることがわかりましたが、それが何を意味するのかよくわかりません。

誰かがそれを説明できれば、とても感謝します。

ps: 翻訳に誤りがあったことをお詫び申し上げます。


正解


コードの観点から見ると、エラーは 102 行目によって発生します。モジュールをロードするときは、qwidget (より正確には qmainwindow) を作成します。これは、qapplication が作成される前に発生します。

また、使用されていないように見えるため、なぜこの開始変数があるのか​​わかりません。

hellobegin オブジェクトを使用して作成する場合は、それを __init__ メソッドに移動します。 ######編集:######

モジュールのロード時にスプラッシュ画面を表示したい場合は、小さくて軽量なモジュールからアプリケーションを起動する必要があります。このモジュールでは次のことを行います:

qアプリケーションの作成

スプラッシュ画面/メッセージボックスを開く

    次に他のモジュールをロードします
  1. すべてをスムーズに動作させるために、モジュールを別の関数にインポートし、GUI の準備ができたときにのみモジュールが開始されるようにするためのちょっとしたトリックを使用します。コードは次のとおりです:
  2. リーリー
  3. ここで、
  4. createssplashscreen
は起動画面を作成する関数です

以上がQWidget: QApplication は QPaintDevice の前に構築する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。