Developpez.com

Plus de 14 000 cours et tutoriels en informatique professionnelle à consulter, à télécharger ou à visionner en vidéo.

PySide Simplissimus : la licence

PySide Simplissimus : des tutoriels d'une dizaine de minutes pour un débutant par un débutant

On va maintenant montrer comment satisfaire aux exigences de la GPL en affichant le texte de licence.

7 commentaires Donner une note à l'article (5)

Article lu   fois.

Les deux auteurs

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. L'article original

Le Qt Developer Network est un réseau de développeurs utilisant Qt afin de partager leur savoir sur ce framework. Vous pouvez le consulter en anglais.

Nokia, Qt, Qt Quarterly et leurs logos sont des marques déposées de Nokia Corporation en Finlande et/ou dans les autres pays. Les autres marques déposées sont détenues par leurs propriétaires respectifs.

Cet article est la traduction de Show Licence.

II. Montrer la licence

On aura cette fois besoin de plusieurs fichiers externes : COPYING.txt, licence.py, licence.ui.

COPYING.txt est à placer dans le même répertoire que le programme. Il contient le texte pour la GPL en version 2. licence.ui doit être converti en fichier Python comme suit :

 
Sélectionnez
pyside-uic licence.ui > ui_licence.py

On l'utilise comme ceci :

 
Sélectionnez
#!/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_()

En lançant le programme et en appuyant sur le bouton, il y aura une fenêtre TextEdit avec la licence :

Image non disponible

Tout le code ressemble fortement aux scripts about et close. Deux déclarations sont dignes d'intérêt :

 
Sélectionnez
self.showButton.clicked.connect(self.fileRead)

Le but de pushButton est d'afficher la licence, il a donc été nommé showButton. La déclaration ci-dessus connecte le signal showButton.clicked à la méthode fileRead d'une classe. Ainsi, quand on appuie sur ce bouton, la méthode fileRead est exécutée. Cette méthode dispose d'une seule déclaration :

 
Sélectionnez
self.textEdit.setText(open('COPYING.txt').read())

Ce n'est pas la manière la plus facile de montrer ce qui se passe, même si les développeurs Python aiment ce genre de choses. Ce code est équivalent à cette série d'instructions :

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

Cela peut sembler plus clair, mais c'est plus long et plus lent, puisque Python est un langage interprété. C'est une manière de juger subjectivement lequel des deux styles est à privilégier.

III. Remerciements

Merci à Claude Leloup pour sa relecture attentive !

PySide Simplissimus
PySide Simplissimus
Fermer
À propos
La licence
Combiner la licence, à propos et fermer
Autre combinaison
Tout en un
Une application d'ingénierie
  

Copyright © 2011 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.