Opis |
---|
Pokaż jak dawać informacje użytkownikowi w makrach. Macro version: 1.0 Last modified: 2011-09-19 FreeCAD version: All Download: Ikona paska narzędzi Autor: Gaël Ecorchard |
Autor |
Gaël Ecorchard |
Do pobrania |
Ikona paska narzędzi |
Odnośniki |
Przepisy na makropolecenia Jak zainstalować makrodefinicje Dostosowanie pasków narzędzi |
Wersja Makrodefinicji |
1.0 |
Data zmian |
2011-09-19 |
Wersja FreeCAD |
All |
Domyślny skrót |
Brak |
Zobacz również |
- |
Pokaż jak dawać informacje użytkownikowi w makrach.
MessageBox
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 używać znaków diakrytycznych w polu tekstowym z Qt, należy dodać tag # -*- coding: utf-8 -*- oraz przed tekstem do wyświetlenia dodać literę u.
Przykład:
diag = QtGui.QMessageBox(QtGui.QMessageBox.Warning, u'Trop d'éléments désignés', msg) ... ... msg = u'Élément sélectionnés affichés'
Aby wyświetlić wiele linii w oknie dialogowym Qt, należy dodać "\n" (w cudzysłowie, działa także w apostrofach) pomiędzy każdą linią.
Również prawidłowe jest użycie "\r\n", co odpowiada znakowi powrotu karetki (CR) i nowej linii (LF).
Dodatkowo "\t" to znak tabulacji. Znaki te powinny znajdować się w cudzysłowie (lub apostrofach) jako ciąg znaków.
Tagi te umieszcza się bezpośrednio obok wyświetlanego tekstu, np. "\nRayon\t: ".
Tag "\" (ukośnik odwrotny) definiuje sekwencję specjalną (escape sequence).
Przykład:
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))