3

PyQt4 (Python3) で GUI アプリケーションを作成しています。私の友人の 1 人は、pyuic4 の使用は悪い習慣であると指摘し、uic モジュールと名前によるスロットの接続機能を紹介してくれました。彼にはこれ以上説明する時間がなく、私が持っている参照はかなり短く、それらからアイデアを理解できませんでした ( uic モジュールLoadingUIFilesAtRuntimeスロットを名前で接続する)。

StackOverflow には関連する質問が少なくとも 1 つありますが、文献へのリンクが壊れています。

標準のチュートリアルに従って、pyuic を使用して簡単な GUI を作成できましたが、今は少し混乱しているように感じます... 良い例や参考文献を歓迎します。

4

1 に答える 1

3

第一に、使用pyuic4は確かに「悪い習慣」ではありません。

PyQt4UIをコードに組み込む主な方法は3つあります。

  • 自分ですべて手書き
  • pyuic4インポート可能なPythonモジュールを自動生成するために使用します
  • uicパッケージを使用してui、実行時にファイルを直接ロードします

これらのうち、最初の2つは断然最も一般的であり、遭遇するほとんどのドキュメント、チュートリアル、アドバイスなどはこれらの方法を使用します。

PyQt4チュートリアルの優れたソースは、 PyQt4Wikiのこのセクションにあります。ただし、関連性はあるものの、それらの多くはかなり古いため、古いスタイルの信号とスロットを使用していることを指摘しておく必要があります。

ただし、古いスタイルと新しいスタイルの違いを理解するのはそれほど難しくないので、必要なのは簡単な例だけかもしれません。

ボタンクリックシグナルをハンドラーメソッド(別名スロット)に接続する古いスタイルの方法は次のとおりです。

self.connect(self.button, QtCore.SIGNAL('clicked()'), self.handleButtonClick)

新しいスタイルの方法は次のとおりです。

self.button.clicked(self.handleButtonClick)

ご覧のとおり、新しいスタイルははるかにシンプルで、よりPython的です。一方、古いスタイルは、C ++を使用して信号を接続する方法と非常に似ています(このため、特定の状況でも役立つ場合があります)。

GUIを作成するときに信号の接続に問題がある場合は、いつでもここで質問できますが、サンプルコードを含む特定の質問をすると、適切な回答を得るのがはるかに簡単になります。

于 2012-01-16T20:16:06.180 に答える