Makro MessageBox

From FreeCAD Documentation
This page is a translated version of the page Macro MessageBox and the translation is 86% complete.
Outdated translations are marked like this.

MessageBox

Popis
Ukazuje jak uživateli dávat informace v makrech.

Version macro : 1.0
Date last modification : 2011-09-19
Autor: Gaël Ecorchard
Autor
Gaël Ecorchard
Download
None
Odkazy
Verze
1.0
Datum poslední úpravy
2011-09-19
Verze FreeCAD
None
Výchozí zástupce
None
Viz též
None

Popis

Ukazuje jak uživateli dávat informace v makrech.

MessageBox

Skript

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


Aby bylo možné používat znaky s diakritickými znaménky v textových polích z Qt, musí se při použítí značky #-*-coding: utf-8-*- přidávat u před zobrazovanou zprávou
Příklad :

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


Pro zobrazení víceřádkového textu v dialogovém okně Qt, musí být přidáno "\n" (uvozovky, platné jsou i apostrofy) za každým řádkem.
Platné je i "\r\n" což koresponduje s CR carriage return (návrat vozíku), a LF end of line(posun řádku). Lze použít i " \t" což je tabulátor. Znaky by měly být mezi uvozovkami (a apostrofy) jako znakový řetězec. Značky mohou být hned vedle zobrazovaného textu " \nRayon\t: ", značka " \ " (obrácené lomítko) znamená, že jde o příkaz.
Příklad :

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