Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
PySideTutorials Clickable button Japanese: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:LanguageBindings::PySide]]<br />[[Category:LanguageBindings::PySide Japanese]] | |||
=簡単なクリッカブルボタンのチュートリアル= | '''日本語''' [[PySideTutorials_Clickable_button|English]] | ||
= 簡単なクリッカブルボタンのチュートリアル = | |||
このチュートリアルではPySideの '''シグナルとスロット''' の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ '''Hello World''' と表示するクリッカブルボタンを作成していきます。 | このチュートリアルではPySideの '''シグナルとスロット''' の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ '''Hello World''' と表示するクリッカブルボタンを作成していきます。 | ||
Line 7: | Line 9: | ||
まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。 | ||
次にコンソールに | <code><br />import sys<br />from PySide.QtCore import *<br />from PySide.QtGui import *<br /></code> | ||
次にコンソールに "Hello World&quot;と出力するpythonの関数を作成しましょう。 | |||
<code><br /># 挨拶をします<br />def sayHello():<br /> print "Hello World!"<br /></code> | |||
ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ここで[[Hello-World-in-PySide-Japanese|はじめてのPySideアプリケーション]]で述べたように、PySideコードを実行するQApplicationを作成します。 | ||
<code><br /># Qt Applicationを作ります<br />app = QApplication(sys.argv)<br /></code> | |||
クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。 | ||
ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[ | <code><br /># ボタンを作ります<br />button = QPushButton("Click me&quot;)<br /></code> | ||
ボタンを表示する前に、先ほど定義した '''sayHello()''' 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細は[[Signals_and_Slots_in_PySide_Japanese|PySideのシグナルとスロット]]でご確認ください。QPushButtonは '''clicked''' と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと '''sayHello()''' 関数を接続しましょう。 | |||
<code><br /># ボタンと関数を接続します<br />button.clicked.connect(sayHello)<br /></code> | |||
最後にボタンを表示してQtのメインループを開始します。 | 最後にボタンを表示してQtのメインループを開始します。 | ||
==コード全体== | <code><br /># ボタンを表示します<br />button.show()<br /># Qtのループを開始します<br />app.exec_()<br /></code> | ||
== コード全体 == | |||
<code><br />#!/usr/bin/python<br /># <s>'''- coding: utf-8 -'''</s> | |||
import sys<br />from PySide.QtCore import *<br />from PySide.QtGui import * | |||
def sayHello():<br /> print "Hello World!" | |||
# Qt Applicationを作ります<br />app = QApplication(sys.argv) | |||
# ボタンを作成して関数と接続したのち、表示します<br />button = QPushButton("Click me&quot;)<br />button.clicked.connect(sayHello)<br />button.show() | |||
# Qtのループを開始します<br />app.exec_()<br /></code> |
Revision as of 09:29, 24 February 2015
日本語 English
簡単なクリッカブルボタンのチュートリアル
このチュートリアルではPySideの シグナルとスロット の扱い方を紹介します。このQtの機能は、基本的にはグラフィカルウィジェット同士やグラフィカルウィジェットと独自のPythonコードの間の通信を可能にします。ここで紹介するアプリケーションでは、押すたびにPythonコンソールへ Hello World と表示するクリッカブルボタンを作成していきます。
まず必要なQtのクラスとPythonのsysクラスのインポートからはじめましょう。
<br />import sys<br />from PySide.QtCore import *<br />from PySide.QtGui import *<br />
次にコンソールに "Hello World"と出力するpythonの関数を作成しましょう。
<br /># 挨拶をします<br />def sayHello():<br /> print "Hello World!"<br />
ここではじめてのPySideアプリケーションで述べたように、PySideコードを実行するQApplicationを作成します。
<br /># Qt Applicationを作ります<br />app = QApplication(sys.argv)<br />
クリッカブルボタン、QPushButtonを作成しましょう。QPushButtonのコンストラクタにPythonの文字列を渡して、ボタンにラベルを付けます。
<br /># ボタンを作ります<br />button = QPushButton("Click me&quot;)<br />
ボタンを表示する前に、先ほど定義した sayHello() 関数とボタンとを接続します。今のところ接続方法には新旧の2つのスタイルがありますが、ここではよりPython的である新スタイルを使っていきます。両方のスタイルの詳細はPySideのシグナルとスロットでご確認ください。QPushButtonは clicked と呼ばれる事前定義シグナルをもっており、ボタンが押されるたびにこのシグナルが送出されます。 ではこのシグナルと sayHello() 関数を接続しましょう。
<br /># ボタンと関数を接続します<br />button.clicked.connect(sayHello)<br />
最後にボタンを表示してQtのメインループを開始します。
<br /># ボタンを表示します<br />button.show()<br /># Qtのループを開始します<br />app.exec_()<br />
コード全体
<br />#!/usr/bin/python<br /># <s>'''- coding: utf-8 -'''</s>
import sys<br />from PySide.QtCore import *<br />from PySide.QtGui import *
def sayHello():<br /> print "Hello World!"
# Qt Applicationを作ります<br />app = QApplication(sys.argv)
# ボタンを作成して関数と接続したのち、表示します<br />button = QPushButton("Click me&quot;)<br />button.clicked.connect(sayHello)<br />button.show()
# Qtのループを開始します<br />app.exec_()<br />