PySideTutorials Clickable button Japanese: Difference between revisions
Jump to navigation
Jump to search
AutoSpider (talk | contribs) (Add "cleanup" tag) |
No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Cleanup | reason=Auto-imported from ExpressionEngine.}} | {{Cleanup | reason=Auto-imported from ExpressionEngine.}} | ||
[[Category | [[Category:PySide]] | ||
[[Category | [[Category:PySide]] | ||
'''日本語''' [[PySideTutorials_Clickable_button|English]] | '''日本語''' [[PySideTutorials_Clickable_button|English]] | ||
Line 12: | Line 12: | ||
まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | ||
< | <pre> | ||
import sys | import sys | ||
from PySide.QtCore import * | from PySide.QtCore import * | ||
from PySide.QtGui import * | from PySide.QtGui import * | ||
</ | </pre> | ||
次にコンソールに "Hello World"と出力するpythonの関数を作成しましょう。 | 次にコンソールに "Hello World"と出力するpythonの関数を作成しましょう。 | ||
< | <pre> | ||
# 挨拶をします | # 挨拶をします | ||
def sayHello(): | def sayHello(): | ||
print "Hello World!" | print "Hello World!" | ||
</ | </pre> | ||
ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ||
< | <pre> | ||
# Qt Applicationを作ります | # Qt Applicationを作ります | ||
app = QApplication(sys.argv) | app = QApplication(sys.argv) | ||
</ | </pre> | ||
クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | ||
< | <pre> | ||
# ボタンを作ります | # ボタンを作ります | ||
button = QPushButton("Click me") | button = QPushButton("Click me") | ||
</ | </pre> | ||
ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[Signals_and_Slots_in_PySide_Japanese|PySideのシグナルとスロット]]でご確認ください。QPushButtonは '''clicked''' と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと '''sayHello()''' 関数を接続しましょう。 | ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[Signals_and_Slots_in_PySide_Japanese|PySideのシグナルとスロット]]でご確認ください。QPushButtonは '''clicked''' と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと '''sayHello()''' 関数を接続しましょう。 | ||
< | <pre> | ||
# ボタンと関数を接続します | # ボタンと関数を接続します | ||
button.clicked.connect(sayHello) | button.clicked.connect(sayHello) | ||
</ | </pre> | ||
最後にボタンを表示してQtのメインループを開始します。 | 最後にボタンを表示してQtのメインループを開始します。 | ||
< | <pre> | ||
# ボタンを表示します | # ボタンを表示します | ||
button.show() | button.show() | ||
# Qtのループを開始します | # Qtのループを開始します | ||
app.exec_() | app.exec_() | ||
</ | </pre> | ||
== コード全体 == | == コード全体 == | ||
< | <pre> | ||
#!/usr/bin/python | #!/usr/bin/python | ||
# -'''- coding: utf-8 -'''- | # -'''- coding: utf-8 -'''- | ||
Line 77: | Line 77: | ||
# Qtのループを開始します | # Qtのループを開始します | ||
app.exec_() | 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_()