IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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

Profil ProSite personnel

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 !

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

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 ni 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.