PySide Simplissimus : à propos

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

Cette boîte de dialogue montre la version de la boîte elle-même, ainsi que celles de Qt, PySide et Python utilisées, avec la plateforme sur laquelle le programme est lancé.

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

Article lu   fois.

Les deux auteurs

Site 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 About Box.

II. À propos

La première étape est d'utiliser Qt Designer pour concevoir visuellement la fenêtre principale et ajouter un PushButton. On donne le nom about.ui grâce à l'option Sauvegarder sous (l'extension .ui est ajoutée automatiquement par Qt Designer).

Le fichierabout.ui est disponible, vous pouvez l'ouvrir avec Qt Designer pour voir ce à quoi ressemble l'interface à cette étape.

about.ui est un fichier XML. Si vous n'arrivez pas à le lire, que cela ne vous préoccupe pas trop : Python non plus. Pour le rendre lisible pour Python, on doit le faire passer par un script du paquet pyside-tools :

 
Sélectionnez
pyside-uic about.ui > ui_about.py

Le fichier, enfin lisible par Python, ui_about.py, peut maintenant être importé par le programme et utilisé comme montré dans le listing suivant.

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

Le programme principal est juste à la fin. Il suit principalement le schéma habituel. On appelle l'application app et on lui passe tout argument CLI dans sys.argv. Le nom choisi pour la fenêtre est frame, mais ça pourrait être n'importe quoi. frame.show() demande au système de montrer ce cadre dès que l'application débute son cycle ; finalement, app.exec_() débute le cycle d'application, ce qui autorise les interactions avec l'utilisateur en cliquant sur les boutons et ainsi de suite.

Une note sur le listing du contenu du texte dans la boîte de dialogue : le caractère copy; a été réinterprété pour ce qu'il représente en HTML, soit un petit c entouré. En fait, dans le programme, il doit juste être écrit comme montré dans la phrase précédente.

Ce fichier about.py peut être lancé de la même manière que tout programme Python.

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+   

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.