1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| #!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import division
# Python 2.7 (>=2.6)
__logiciel__ = "monlogiciel"
__version__ = "1.02.4567"
__date__ = "9/2012"
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
import webbrowser # pour appel du navigateur par défaut
#############################################################################
class PythonObj(QtCore.QObject):
def __init__(self, parent=None):
super(PythonObj, self).__init__(parent)
@QtCore.pyqtSlot()
def aproposdeqt(self):
QtGui.qApp.aboutQt()
@QtCore.pyqtSlot(str)
def siteweb(self, site):
webbrowser.open(site)
#############################################################################
class Apropos(QtWebKit.QWebView):
def __init__(self, parent=None):
super(Apropos, self).__init__(parent)
self.resize(550,260)
self.setWindowTitle("A propos")
# met en place l'icone s'il en a une
#self.setWindowIcon(u"icone.ico")
# place la fenêtre au milieu de l'écran
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
# empêche le redimensionnement
size = self.geometry()
self.setFixedSize(size.width(), size.height())
# permettre l'appel de méthodes Python par javascript
self.page().mainFrame().addToJavaScriptWindowObject('pythonObj', PythonObj())
plateforme = sys.platform
if plateforme=='win32': plateforme ='Windows'
elif plateforme=='linux2': plateforme = 'Linux'
elif plateforme=='darwin': plateforme = 'Mac OS X'
else: pass
self.setHtml(u"""
<p style="font-family:DejaVu Sans, Arial, Helvetica, sans-serif; font-size:10pt;color:green;">
<br/><span style="font-size:12pt;font-weight:bold;">Logiciel {0} version {1} ({2})</span>
<br/>Copyright Tyrtamos 2012
<br/>Licence GPL3
<br/>Sources sur demande ici: <a href="#" onclick='pythonObj.siteweb("http://www.jpvweb.com")'">http://www.jpvweb.com</a>
<br/>
<br/><span style="font-size:12pt;font-weight:bold;">Contexte d'exécution en cours:</span>
<br/>Système d'exploitation: {3}
<br/>Python version: {4}
<br/>Qt version: {5}
<br/>PyQt4 version: {6}
<br/>
<br/><button onClick="pythonObj.aproposdeqt()"> A propos de Qt </button>
</font></p>
""".format(__logiciel__, __version__, __date__,
plateforme,
sys.version,
QtCore.QT_VERSION_STR,
QtCore.PYQT_VERSION_STR)
)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
fen = Apropos()
fen.show()
sys.exit(app.exec_()) |
Partager