PySideSimplicissimus Module 4 ShowLicence Japanese

From Qt Wiki
Revision as of 10:25, 24 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search



日本語 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ファイルに変換します:

<br />pyside-uic licence.ui &gt; ui_licence.py<br />


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

<br />#!/usr/bin/env python<br /># 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):<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)

def fileRead(self):<br /> '''Read and display GPL licence.'''<br /> 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 />


プログラムを実行してボタンをクリックすると、TextEditウィンドウにライセンスの一覧が表示されます。以下のリンクをクリックして画像を確認してください。外部に保存しています:
* licence.png コード全体は AboutClose スクリプトにとてもよく似ています。ここで興味深い構文が2つあります:

<br />self.showButton.clicked.connect(self.fileRead)<br />


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

<br />self.textEdit.setText(open('COPYING.txt').read())<br />


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

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


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