PySideTutorials Clickable button Japanese: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Cleanup | reason=Auto-imported from ExpressionEngine.}} | |||
=簡単なクリッカブルボタンのチュートリアル= | [[Category:PySide]] | ||
[[Category:PySide]] | |||
'''日本語''' [[PySideTutorials_Clickable_button|English]] | |||
= 簡単なクリッカブルボタンのチュートリアル = | |||
このチュートリアルではPySideの '''シグナルとスロット''' の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ '''Hello World''' と表示するクリッカブルボタンを作成していきます。 | このチュートリアルではPySideの '''シグナルとスロット''' の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ '''Hello World''' と表示するクリッカブルボタンを作成していきます。 | ||
Line 7: | Line 12: | ||
まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | ||
次にコンソールに | <pre> | ||
import sys | |||
from PySide.QtCore import * | |||
from PySide.QtGui import * | |||
</pre> | |||
次にコンソールに "Hello World"と出力するpythonの関数を作成しましょう。 | |||
<pre> | |||
# 挨拶をします | |||
def sayHello(): | |||
print "Hello World!" | |||
</pre> | |||
ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ||
<pre> | |||
# Qt Applicationを作ります | |||
app = QApplication(sys.argv) | |||
</pre> | |||
クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | ||
ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[ | <pre> | ||
# ボタンを作ります | |||
button = QPushButton("Click me") | |||
</pre> | |||
ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[Signals_and_Slots_in_PySide_Japanese|PySideのシグナルとスロット]]でご確認ください。QPushButtonは '''clicked''' と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと '''sayHello()''' 関数を接続しましょう。 | |||
<pre> | |||
# ボタンと関数を接続します | |||
button.clicked.connect(sayHello) | |||
</pre> | |||
最後にボタンを表示してQtのメインループを開始します。 | 最後にボタンを表示してQtのメインループを開始します。 | ||
==コード全体== | <pre> | ||
# ボタンを表示します | |||
button.show() | |||
# Qtのループを開始します | |||
app.exec_() | |||
</pre> | |||
== コード全体 == | |||
<pre> | |||
#!/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_() | |||
</pre> |
Latest revision as of 05:13, 10 May 2017
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
日本語 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_()