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
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:LanguageBindings]] | [[Category:LanguageBindings]] | ||
[[Category:LanguageBindings::PySide::Newbie Tutorials]] | |||
[[Category:LanguageBindings::PySide Japanese]] | |||
* '''注 :''' この記事は [[PySide_Newbie_Tutorials]] の一部です。 | * '''注 :''' この記事は [[PySide_Newbie_Tutorials]] の一部です。 | ||
'''日本語''' [[PySideSimplicissimus_Module_4_ShowLicence|English]] [ | '''日本語''' [[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''' です。ファイルは次の場所にあります: | 今回は便利なようにファイルを外部リポジトリに格納しています: '''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): | 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): | def fileRead(self): | ||
'''Read and display GPL licence.''' | |||
self.textEdit.setText(open('COPYING.txt').read()) | |||
if ''name'' == '''main''': | 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つあります: | コード全体は '''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
- 注 : この記事は PySide_Newbie_Tutorials の一部です。
日本語 English ["French":http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/3-licence/]
ライセンスを表示する
この例では GPL ライセンスを表示しますが、 PySide は LGPL でリリースしているのでご注意ください。正しいライセンスが表示されているか確認しましょう。
今回は便利なようにファイルを外部リポジトリに格納しています: 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ファイルに変換します:
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ウィンドウにライセンスの一覧が表示されます。以下のリンクをクリックして画像を確認してください。外部に保存しています:
コード全体は About と Close スクリプトにとてもよく似ています。ここで興味深い構文が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がインタプリタ言語なので実行が少し遅くなります。どちらのスタイルを選ぶかは、個人の判断になります。