Macro MessageBox/fr


Text-x-python.png MessageBox

Description
Montre comment donner des informations à l'utilisateur dans les macros
Auteur
Gaël Ecorchard
Liens
Recettes macros
Comment installer une macro
Comment ajouter une barre d'outils
Version
1.0
Date dernière modification
2011-09-19

Contents


Cette macro permet d'afficher un signal, ou un texte dans une boîte de dialogue, avec un icône distinctif.

MessageBox


#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
"""Show how to give information to the user in macros
"""
from PySide import QtCore, QtGui
 
def errorDialog(msg):
    # Create a simple dialog QMessageBox
    # The first argument indicates the icon used: one of QtGui.QMessageBox.{NoIcon, Information, Warning, Critical, Question} 
    diag = QtGui.QMessageBox(QtGui.QMessageBox.Warning, 'Error in macro MessageBox', msg)
    diag.setWindowModality(QtCore.Qt.ApplicationModal)
    diag.exec_()
 
msg = 'Example of warning message'
errorDialog(msg)
raise(Exception(msg)) 


Pour pouvoir utiliser les caractères accentués dans le champ texte de Qt, grâce à la balise # -*- coding: utf-8 -*- il faut ajouter un " u " devant le message à afficher.

Exemple :

diag = QtGui.QMessageBox(QtGui.QMessageBox.Warning, u'Trop d'éléments désignés', msg)
    ...
    ...
msg = u'Élément sélectionnés affichés' 


Pour afficher plusieurs lignes dans une boîte de dialogue Qt, il faut ajouter "\n" (entre guillemets, valable aussi, entre apostrophes) entre chaque lignes.

Valable aussi "\r\n" qui correspondent à CR retour chariot, et LF fin de ligne, valable aussi "\t" qui est une tabulation, les caractères doivent se trouver entre guillemets (ou apostrophes) comme une chaîne de caractère, les balises peuvent se trouver à côté du texte à afficher "\nRayon\t  : ", la balise " \ " (slash inversé) délimite la commande.

Exemple :

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,u"Coordonnées",u"Coordonnée X : "+str(x)+"\r\n"+u"Coordonnée Y : "+str(y)+"\n"+u"Coordonnée Z :<br>
 "+str(z)+"\nRayon\t     : "+str(r)) 
Online version: "http://www.freecadweb.org/wiki/index.php?title=Macro_MessageBox/fr&oldid=240016"

Navigation menu