PySideSimplicissimus Module 3 AboutBox 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 Japanese]]<br />[[Category:LanguageBindings::PySide::Newbie Tutorials]]
[[Category:LanguageBindings]]
[[Category:LanguageBindings::PySide Japanese]]
[[Category:LanguageBindings::PySide::Newbie Tutorials]]


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


'''日本語''' [[PySideSimplicissimus_Module_3_AboutBox|English]] [&quot;French&amp;quot;:http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/2-a-propos/]
'''日本語''' [[PySideSimplicissimus_Module_3_AboutBox|English]] ["French":http://qt-devnet.developpez.com/tutoriels/pyside/simplissimus/2-a-propos/]


= About Box =
= About Box =
Line 13: Line 15:
私のホームページに '''about.ui''' を用意しました 。以下のURLからダウンロード可能です。 '''Qt Designer''' で開いて、今の段階でGUIがどのように見えるか確認しましょう。 '''about.py''' のソースも同様にダウンロード可能です。実際のところ、コードをディスプレイからクリップボードへコピーしてエディタに貼りつけるよりも、オリジナルのソースコードをダウンロードするほうがより安全です。ちなみに私は、絶対お薦めのあるエディタを使ってPythonプログラミングをしています。PythonとQtで書かれた '''Eric4''' です。
私のホームページに '''about.ui''' を用意しました 。以下のURLからダウンロード可能です。 '''Qt Designer''' で開いて、今の段階でGUIがどのように見えるか確認しましょう。 '''about.py''' のソースも同様にダウンロード可能です。実際のところ、コードをディスプレイからクリップボードへコピーしてエディタに貼りつけるよりも、オリジナルのソースコードをダウンロードするほうがより安全です。ちなみに私は、絶対お薦めのあるエディタを使ってPythonプログラミングをしています。PythonとQtで書かれた '''Eric4''' です。


* &quot;例題のデータファイルを含むディレクトリは次の場所にあります&amp;quot; http://akabaila.pcug.org.au/pyside-data/
* "例題のデータファイルを含むディレクトリは次の場所にあります" http://akabaila.pcug.org.au/pyside-data/


クリックで '''about.ui''' をダウンロードして、時間のあるときに '''Qt Designer''' で見てください。
クリックで '''about.ui''' をダウンロードして、時間のあるときに '''Qt Designer''' で見てください。
Line 19: Line 21:
about.ui はXMLファイルです。でも読めないからといって気にしないように ー Pythonだって読むことができないんですから…Pythonが読めるようにするには、pyside-toolsパッケージのスクリプトを使って処理をする必要があります:
about.ui はXMLファイルです。でも読めないからといって気にしないように ー Pythonだって読むことができないんですから…Pythonが読めるようにするには、pyside-toolsパッケージのスクリプトを使って処理をする必要があります:


<code><br />pyside-uic about.ui &gt; ui_about.py<br /></code>
<code>
pyside-uic about.ui > ui_about.py
</code>


これでPythonの読み込み可能なファイル ui_about.py がプログラムでインポートして使えるようになりました。次のコードリストをご覧ください。
これでPythonの読み込み可能なファイル ui_about.py がプログラムでインポートして使えるようになりました。次のコードリストをご覧ください。


<code><br />#!/usr/bin/env python<br /># about.py - display about box with info on platform etc.
<code>
#!/usr/bin/env python
# about.py - display about box with info on platform etc.


import sys<br />import platform
import sys
import platform


import PySide<br />from PySide.QtGui import QApplication, QMainWindow, QTextEdit, QPushButton, QMessageBox
import PySide
from PySide.QtGui import QApplication, QMainWindow, QTextEdit, QPushButton, QMessageBox


from ui_about import Ui_MainWindow
from ui_about import Ui_MainWindow
Line 33: Line 41:
''version'' = '0.0.1'
''version'' = '0.0.1'


class MainWindow(QMainWindow, Ui_MainWindow):<br /> def ''init''(self, parent=None):<br /> super(MainWindow, self).''init''(parent)<br /> self.setupUi(self)<br /> self.aboutButton.clicked.connect(self.about)
class MainWindow(QMainWindow, Ui_MainWindow):
def ''init''(self, parent=None):
super(MainWindow, self).''init''(parent)
self.setupUi(self)
self.aboutButton.clicked.connect(self.about)


def about(self):<br /> '''Popup a box with about message.'''<br /> QMessageBox.about(self, &quot;About PySide, Platform and the like&amp;quot;,<br /> &quot;&quot;&quot;&lt;b&amp;gt;Platform Details&amp;lt;/b&amp;gt; v %s<br /> &lt;p&amp;gt;Copyright &amp;copy; 2010 Joe Bloggs.<br /> All rights reserved in accordance with<br /> GPL v2 or later - NO WARRANTIES!<br /> &lt;p&amp;gt;This application can be used for<br /> displaying platform details.<br /> &lt;p&amp;gt;Python %s - PySide version %s - Qt version %s on s&amp;quot;&quot;&quot; (''version'',<br /> platform.python_version(), PySide.''version'', PySide.QtCore.''version'',<br /> platform.system&amp;amp;#40;&amp;#41;))
def about(self):
'''Popup a box with about message.'''
QMessageBox.about(self, "About PySide, Platform and the like",
"""<b>Platform Details</b> v %s
<p>Copyright &amp;copy; 2010 Joe Bloggs.
All rights reserved in accordance with
GPL v2 or later - NO WARRANTIES!
<p>This application can be used for
displaying platform details.
<p>Python %s - PySide version %s - Qt version %s on s""" (''version'',
platform.python_version(), PySide.''version'', PySide.QtCore.''version'',
platform.system()))


if ''name'' == '''main''':<br /> app = QApplication(sys.argv)<br /> frame = MainWindow()<br /> frame.show()<br /> app.exec_()<br /></code>
if ''name'' == '''main''':
app = QApplication(sys.argv)
frame = MainWindow()
frame.show()
app.exec_()
</code>


メインプログラムは最後にありますが、これはよくやるパターンです。アプリケーション '''app''' を呼び出して、 '''sys.argv''' のすべてのコマンドライン引数を渡します。 '''window frame''' の名前は '''frame''' ですが他の名前でもかまいません。 '''frame.show()''' は、アプリケーションサイクルが実行を開始した直後に '''frame''' を表示するようシステムに通知します。最後に app.exec_() でアプリケーションサイクルを開始します。アプリケーションサイクルは、ボタンのクリックなど、ユーザーとの対話を可能にします。
メインプログラムは最後にありますが、これはよくやるパターンです。アプリケーション '''app''' を呼び出して、 '''sys.argv''' のすべてのコマンドライン引数を渡します。 '''window frame''' の名前は '''frame''' ですが他の名前でもかまいません。 '''frame.show()''' は、アプリケーションサイクルが実行を開始した直後に '''frame''' を表示するようシステムに通知します。最後に app.exec_() でアプリケーションサイクルを開始します。アプリケーションサイクルは、ボタンのクリックなど、ユーザーとの対話を可能にします。

Revision as of 10:44, 25 February 2015


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

About Box

このダイアログボックスは、About Box自身のバージョン、使用中の QtPySidePython の各バージョン、及びプログラムが実行中の プラットフォーム を同時に表示します。

最初の一歩は Qt Designer を使ってメインウインドウを視覚的に設計します。プッシュボタンをひとつ追加しましょう。Saving Asを使って、ファイルにabout.ui (拡張子uiは Qt Designer が追加します)と名前をつけます。

私のホームページに about.ui を用意しました 。以下のURLからダウンロード可能です。 Qt Designer で開いて、今の段階でGUIがどのように見えるか確認しましょう。 about.py のソースも同様にダウンロード可能です。実際のところ、コードをディスプレイからクリップボードへコピーしてエディタに貼りつけるよりも、オリジナルのソースコードをダウンロードするほうがより安全です。ちなみに私は、絶対お薦めのあるエディタを使ってPythonプログラミングをしています。PythonとQtで書かれた Eric4 です。

クリックで about.ui をダウンロードして、時間のあるときに Qt Designer で見てください。

about.ui はXMLファイルです。でも読めないからといって気にしないように ー Pythonだって読むことができないんですから…Pythonが読めるようにするには、pyside-toolsパッケージのスクリプトを使って処理をする必要があります:

pyside-uic about.ui > ui_about.py

これでPythonの読み込み可能なファイル ui_about.py がプログラムでインポートして使えるようになりました。次のコードリストをご覧ください。

#!/usr/bin/env python
# about.py - display about box with info on platform etc.

import sys
import platform

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

from ui_about import Ui_MainWindow

''version'' = '0.0.1'

class MainWindow(QMainWindow, Ui_MainWindow):
 def ''init''(self, parent=None):
 super(MainWindow, self).''init''(parent)
 self.setupUi(self)
 self.aboutButton.clicked.connect(self.about)

def about(self):
 '''Popup a box with about message.'''
 QMessageBox.about(self, "About PySide, Platform and the like",
 """<b>Platform Details</b> v %s
 <p>Copyright &amp;copy; 2010 Joe Bloggs.
 All rights reserved in accordance with
 GPL v2 or later - NO WARRANTIES!
 <p>This application can be used for
 displaying platform details.
 <p>Python %s - PySide version %s - Qt version %s on s""" (''version'',
 platform.python_version(), PySide.''version'', PySide.QtCore.''version'',
 platform.system()))

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

メインプログラムは最後にありますが、これはよくやるパターンです。アプリケーション app を呼び出して、 sys.argv のすべてのコマンドライン引数を渡します。 window frame の名前は frame ですが他の名前でもかまいません。 frame.show() は、アプリケーションサイクルが実行を開始した直後に frame を表示するようシステムに通知します。最後に app.exec_() でアプリケーションサイクルを開始します。アプリケーションサイクルは、ボタンのクリックなど、ユーザーとの対話を可能にします。

aboutダイアログのポップアップボックス内のテキスト内容に関するコードの注意がひとつ:文字 copy; はHTML表現で解釈されると、円で囲まれた小さなc(著作権マーク)になります。実際にプログラムでは前の文に示したように記述する必要があります。

この about.py は他のPythonプログラムと同じように実行できます。是非ためしてください!