日本語 English French [qt-devnet.developpez.com] 한국어

はじめてのPySideアプリケーション

すでにPySideのセットアップページに従ってPySideをインストールしているなら、Qt + PythonのGUIアプリケーションを開発する準備は万端です。他のプログラミングフレームワークにならって、伝統的な “Hello World“から始めます。

以下はPySideでのHello Worldの簡単な例です。

  1. #!/usr/bin/python
  2.  
  3. # Import PySide classes
  4. import sys
  5. from PySide.QtCore import *
  6. from PySide.QtGui import *
  7.  
  8.  
  9. # Create a Qt application
  10. app = QApplication(sys.argv)
  11. # Create a Label and show it
  12. label = QLabel("Hello World")
  13. label.show()
  14. # Enter Qt application main loop
  15. app.exec_()
  16. sys.exit()

PySideのデスクトップアプリケーションを作るには、かならずPySide.QtCoreとPySide.QtGuiのクラス群のインポートから開始します。これらのクラスはPySideのアプリケーションを作る上で中心的な役割を担っています。PySide.QtGuiは、PySide内部のウィジェットの振る舞いを担当します。PySid.QtCoreは、シグナルとスロットの処理、アプリケーション制御を担当します。

インポートの後にQtのメインアプリケーションであるQApplicationを作成します。Qtがコマンドライン引数を受け取れるように、QApplicationオブジェクトへコマンドライン引数を全て渡します。引数を渡す機会はあまりありませんが、このようにしておきます。

アプリケーションオブジェクトの作成後、QLabelオブジェクトを作成します。QLabelはテキスト(シンプルテキストやHTMLのようなリッチテキスト)と画像を表示するウィジェットです。ラベルの作成後、表示のために show メソッドを呼び出していることに注意してください

最後に app.exec_() を呼び出します。Qtのメインループが開始され、Qtのコードが実行されます。本当のところ、ラベルが表示されるのはここになるんですが、今は気にしないようにしましょう。

ラベルにHTMLを表示する

前述のようにラベルにhtmlタグを渡してリッチテキストを表示することができます。ラベルを作成するコードを次のように変更してください。

  1. label = QLabel("<font color=red size=40>Hello World</font>")

“Hello World“が大きくなり、赤色に変わったでしょうか。さらに色やサイズの変更や、点滅を試してみましょう。QLabelのかわりにQPushButtonなども作成してみましょう。

Categories: