PySideTutorials Clickable button Japanese

From Qt Wiki
Revision as of 09:51, 25 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


日本語 English

簡単なクリッカブルボタンのチュートリアル

このチュートリアルではPySideの シグナルとスロット の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ Hello World と表示するクリッカブルボタンを作成していきます。

まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。

import sys
from PySide.QtCore import *
from PySide.QtGui import *

次にコンソールに "Hello World"と出力するpythonの関数を作成しましょう。

# 挨拶をします
def sayHello():
 print "Hello World!"

ここではじめてのPySideアプリケーションで述べたように、PySideコードを実行するQApplicationを作成します。

# Qt Applicationを作ります
app = QApplication(sys.argv)

クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。

# ボタンを作ります
button = QPushButton("Click me")

ボタンを表示する前に、先ほど定義した sayHello() 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細はPySideのシグナルとスロットでご確認ください。QPushButtonは clicked と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと sayHello() 関数を接続しましょう。

# ボタンと関数を接続します
button.clicked.connect(sayHello)

最後にボタンを表示してQtのメインループを開始します。

# ボタンを表示します
button.show()
# Qtのループを開始します
app.exec_()

コード全体

#!/usr/bin/python
# -'''- coding: utf-8 -'''-

import sys
from PySide.QtCore import *
from PySide.QtGui import *

def sayHello():
 print "Hello World!"

# Qt Applicationを作ります
app = QApplication(sys.argv)
# ボタンを作成して関数と接続したのち、表示します
button = QPushButton("Click me")
button.clicked.connect(sayHello)
button.show()
# Qtのループを開始します
app.exec_()