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.

PySideSimplicissimus Module 4 ShowLicence Japanese: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:LanguageBindings]]<br />[[Category:LanguageBindings::PySide::Newbie Tutorials]]<br />[[Category:LanguageBindings::PySide Japanese]]
[[Category:LanguageBindings]]
[[Category:LanguageBindings::PySide::Newbie Tutorials]]
[[Category:LanguageBindings::PySide Japanese]]


* '''注 :''' この記事は [[PySide_Newbie_Tutorials]] の一部です。
* '''注 :''' この記事は [[PySide_Newbie_Tutorials]] の一部です。


'''日本語''' [[PySideSimplicissimus_Module_4_ShowLicence|English]] [&quot;French&amp;quot;:http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/3-licence/]
'''日本語''' [[PySideSimplicissimus_Module_4_ShowLicence|English]] ["French":http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/3-licence/]


= ライセンスを表示する =
= ライセンスを表示する =
Line 9: Line 11:
この例では '''GPL''' ライセンスを表示しますが、 [[PySide]] は '''LGPL''' でリリースしているのでご注意ください。正しいライセンスが表示されているか確認しましょう。
この例では '''GPL''' ライセンスを表示しますが、 [[PySide]] は '''LGPL''' でリリースしているのでご注意ください。正しいライセンスが表示されているか確認しましょう。


今回は便利なようにファイルを外部リポジトリに格納しています: '''COPYING.txt''', '''licence.ui''' と '''licence.py''' です。ファイルは次の場所にあります: &quot;COPYING.txt&amp;quot;:http://akabaila.pcug.org.au/pyside-data/COPYING.txt, &quot;licence.ui&amp;quot;:http://akabaila.pcug.org.au/pyside-data/licence.ui, &quot;licence.py&amp;quot;:http://akabaila.pcug.org.au/pyside-data/licence.py.<br />ダウンロードした後、 '''COPYING.txt''' をプログラムと同じディレクトリに配置してください 。このファイルには '''GPL v2''' が記載されています。 '''licence.ui''' を次のようにPythonファイルに変換します:<br /><code><br />pyside-uic licence.ui &gt; ui_licence.py<br /></code><br />プログラム一覧は次のとおりです:<br /><code><br />#!/usr/bin/env python<br /># licence.py - display GPL licence
今回は便利なようにファイルを外部リポジトリに格納しています: '''COPYING.txt''', '''licence.ui''' と '''licence.py''' です。ファイルは次の場所にあります: "COPYING.txt":http://akabaila.pcug.org.au/pyside-data/COPYING.txt, "licence.ui":http://akabaila.pcug.org.au/pyside-data/licence.ui, "licence.py":http://akabaila.pcug.org.au/pyside-data/licence.py.
ダウンロードした後、 '''COPYING.txt''' をプログラムと同じディレクトリに配置してください 。このファイルには '''GPL v2''' が記載されています。 '''licence.ui''' を次のようにPythonファイルに変換します:
<code>
pyside-uic licence.ui > ui_licence.py
</code>
プログラム一覧は次のとおりです:
<code>
#!/usr/bin/env python
# licence.py - display GPL licence


import sys
import sys
Line 17: Line 27:
from ui_licence import Ui_MainWindow
from ui_licence import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):<br /> def ''init''(self, parent=None):<br /> '''Mandatory initialisation of a class.'''<br /> super(MainWindow, self).''init''(parent)<br /> self.setupUi(self)<br /> self.showButton.clicked.connect(self.fileRead)
class MainWindow(QMainWindow, Ui_MainWindow):
def ''init''(self, parent=None):
'''Mandatory initialisation of a class.'''
super(MainWindow, self).''init''(parent)
self.setupUi(self)
self.showButton.clicked.connect(self.fileRead)


def fileRead(self):<br /> '''Read and display GPL licence.'''<br /> self.textEdit.setText(open('COPYING.txt').read())
def fileRead(self):
'''Read and display GPL licence.'''
self.textEdit.setText(open('COPYING.txt').read())


if ''name'' == '''main''':<br /> app = QApplication(sys.argv)<br /> frame = MainWindow()<br /> frame.show()<br /> app.exec_()<br /></code><br />プログラムを実行してボタンをクリックすると、TextEditウィンドウにライセンスの一覧が表示されます。以下のリンクをクリックして画像を確認してください。外部に保存しています:<br />* http://akabaila.pcug.org.au/pyside-images/licence.png
if ''name'' == '''main''':
app = QApplication(sys.argv)
frame = MainWindow()
frame.show()
app.exec_()
</code>
プログラムを実行してボタンをクリックすると、TextEditウィンドウにライセンスの一覧が表示されます。以下のリンクをクリックして画像を確認してください。外部に保存しています:
* http://akabaila.pcug.org.au/pyside-images/licence.png


コード全体は '''About''' と '''Close''' スクリプトにとてもよく似ています。ここで興味深い構文が2つあります:<br /><code><br />self.showButton.clicked.connect(self.fileRead)<br /></code><br />このプッシュボタンはライセンスを表示するので '''showButton''' と名付けました。この構文で、クラスメソッド '''fileRead''' と showButton.clicked イベントを接続します。これによって showButton がクリックされると、Pythonのクラスメソッド '''fileRead''' が実行されます。 fileRead は次のPython的な構文を持ちます:<br /><code><br />self.textEdit.setText(open('COPYING.txt').read())<br /></code><br />内容を明快に伝えるやり方ではありませんが、Pythonプログラマーはこのように書くのを好みます。このコー​​ドは次の構文と同じ意味です:<br /><code><br />#open file<br />fl = open('COPYING.txt')<br />tmp = fl.read()<br />self.textEdit.setText(tmp)<br /></code><br />こちらのほうがより明快ですね。しかしタイピング量が増え、Pythonがインタプリタ言語なので実行が少し遅くなります。どちらのスタイルを選ぶかは、個人の判断になります。
コード全体は '''About''' と '''Close''' スクリプトにとてもよく似ています。ここで興味深い構文が2つあります:
<code>
self.showButton.clicked.connect(self.fileRead)
</code>
このプッシュボタンはライセンスを表示するので '''showButton''' と名付けました。この構文で、クラスメソッド '''fileRead''' と showButton.clicked イベントを接続します。これによって showButton がクリックされると、Pythonのクラスメソッド '''fileRead''' が実行されます。 fileRead は次のPython的な構文を持ちます:
<code>
self.textEdit.setText(open('COPYING.txt').read())
</code>
内容を明快に伝えるやり方ではありませんが、Pythonプログラマーはこのように書くのを好みます。このコー​​ドは次の構文と同じ意味です:
<code>
#open file
fl = open('COPYING.txt')
tmp = fl.read()
self.textEdit.setText(tmp)
</code>
こちらのほうがより明快ですね。しかしタイピング量が増え、Pythonがインタプリタ言語なので実行が少し遅くなります。どちらのスタイルを選ぶかは、個人の判断になります。

Revision as of 10:45, 25 February 2015


日本語 English ["French":http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/3-licence/]

ライセンスを表示する

この例では GPL ライセンスを表示しますが、 PySideLGPL でリリースしているのでご注意ください。正しいライセンスが表示されているか確認しましょう。

今回は便利なようにファイルを外部リポジトリに格納しています: COPYING.txt, licence.uilicence.py です。ファイルは次の場所にあります: "COPYING.txt":http://akabaila.pcug.org.au/pyside-data/COPYING.txt, "licence.ui":http://akabaila.pcug.org.au/pyside-data/licence.ui, "licence.py":http://akabaila.pcug.org.au/pyside-data/licence.py. ダウンロードした後、 COPYING.txt をプログラムと同じディレクトリに配置してください 。このファイルには GPL v2 が記載されています。 licence.ui を次のようにPythonファイルに変換します:

pyside-uic licence.ui > ui_licence.py

プログラム一覧は次のとおりです:

#!/usr/bin/env python
# licence.py - display GPL licence

import sys

from PySide.QtGui import QApplication, QMainWindow, QTextEdit, QPushButton

from ui_licence import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
 def ''init''(self, parent=None):
 '''Mandatory initialisation of a class.'''
 super(MainWindow, self).''init''(parent)
 self.setupUi(self)
 self.showButton.clicked.connect(self.fileRead)

def fileRead(self):
 '''Read and display GPL licence.'''
 self.textEdit.setText(open('COPYING.txt').read())

if ''name'' == '''main''':
 app = QApplication(sys.argv)
 frame = MainWindow()
 frame.show()
 app.exec_()

プログラムを実行してボタンをクリックすると、TextEditウィンドウにライセンスの一覧が表示されます。以下のリンクをクリックして画像を確認してください。外部に保存しています:

  • licence.png

コード全体は AboutClose スクリプトにとてもよく似ています。ここで興味深い構文が2つあります:

self.showButton.clicked.connect(self.fileRead)

このプッシュボタンはライセンスを表示するので showButton と名付けました。この構文で、クラスメソッド fileRead と showButton.clicked イベントを接続します。これによって showButton がクリックされると、Pythonのクラスメソッド fileRead が実行されます。 fileRead は次のPython的な構文を持ちます:

self.textEdit.setText(open('COPYING.txt').read())

内容を明快に伝えるやり方ではありませんが、Pythonプログラマーはこのように書くのを好みます。このコー​​ドは次の構文と同じ意味です:

#open file
fl = open('COPYING.txt')
tmp = fl.read()
self.textEdit.setText(tmp)

こちらのほうがより明快ですね。しかしタイピング量が増え、Pythonがインタプリタ言語なので実行が少し遅くなります。どちらのスタイルを選ぶかは、個人の判断になります。