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