Macro MessageBox

From FreeCAD Documentation
This page is a translated version of the page Macro MessageBox and the translation is 100% complete.

MessageBox

Descripción
Muestra como dar información al usuario en las macros

Versión macro : 1.0
Fecha última modificación : 2011-09-19
Versión FreeCAD : All
Descargar : ToolBar Icon
Autor : Gaël Ecorchard
Autor
Gaël Ecorchard
Descargar
ToolBar Icon
Enlace
Versión Macro
1.0
Fecha última modificación
2011-09-19
Versión(es) FreeCAD
All
Acceso directo predeterminado
None
Ver también
None

Descripción

Muestra como dar información al usuario en las macros

MessageBox

Script

ToolBar Icon

Macro_MessageBox.FCMacro

#! /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))


Para usar los caracteres acentuados en el campo de texto de Qt, usando la etiqueta # - * - codificación: utf-8 - * - debe agregarse una u antes del mensaje a mostrar
Ejemplo:

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


Para mostrar varias líneas en un cuadro de diálogo Qt, debe agregarse "\ n" (cita, válida también entre apóstrofes) entre cada línea.
Válido también "\ r \ n" que corresponde a CR retorno de carro, y LF fin de línea, válido también "\ t" es una pestaña, los caracteres deben estar entre comillas (y apóstrofes) como una cadena de caracteres, las etiquetas se pueden encontrar al lado del texto para mostrar "\ nRayon \ t:" , la etiqueta "\" (barra invertida) define el comando.
Ejemplo:

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))