Support Forum

[Frage] Nachricht im BaseScriptObject ausgeben [Gelöst]

Schlagworte:
  • Python
  • Message
  • Nachricht
  • User

Hallo zusammen,

ich würde gerne in einem BaseScriptObject eine Nachricht ausgeben, konnte dazu aber leider kein Beispiel finden.

Ich dachte in der Version 24 gab es im PythonPart GetObjectAttributesInteractor nach der Ausführung eine Nachricht mit "Infomrationen werden im Trace ausgegeben" oder so ähnlich, aber das ist wohl in der Version 25 nicht mehr drin.

Habe dazu kein Beispiel gefunden, speziell in Verbindung mit einem ScriptBaseObject.

Wenn jemand ein Beispiel parat hat, in der in der Execute Methode einfach kurz eine Nachricht beim User aufgeht mit einem Text drin, die mit OK oder schliesse bestätigt werden muss.

Gruss Sebastian

Lösung anzeigen Lösung verbergen

import NemAll_Python_Utility as AllplanUtil
...

str_msg = 'Hello World.\n'
AllplanUtil.ShowMessageBox(str_msg, AllplanUtil.MB_OK)

siehe
ETC\PythonPartsScripts\ToolsAndStartExamples\MessageBox.py

import NemAll_Python_Utility as AllplanUtil
...

str_msg = 'Hello World.\n'
AllplanUtil.ShowMessageBox(str_msg, AllplanUtil.MB_OK)

siehe
ETC\PythonPartsScripts\ToolsAndStartExamples\MessageBox.py

Zitiert von: TheSocialPotwal
Wenn jemand ein Beispiel parat hat, in der in der Execute Methode ...

Hi,
Beispiel sh. oben, aber bitte nicht in die execute-Methode aufrufen. Diese wird immer wieder aufgerufen, auch wenn z.B. die Maus den Viewport verässt o.ä.. Rufe den MessageBox bein einem Event auf, z.B. on_control_event (Button gedrückt), oder modify_control_property (ein Parameter wurde geändert). Hängt von deinem gewünschten Verhalten.

Grüße,
Bart

Zitiert von: bmarciniec

Zitiert von: TheSocialPotwalWenn jemand ein Beispiel parat hat, in der in der Execute Methode ...Hi,

Beispiel sh. oben, aber bitte nicht in die execute-Methode aufrufen. Diese wird immer wieder aufgerufen, auch wenn z.B. die Maus den Viewport verässt o.ä.. Rufe den MessageBox bein einem Event auf, z.B. on_control_event (Button gedrückt), oder modify_control_property (ein Parameter wurde geändert). Hängt von deinem gewünschten Verhalten.
Grüße,

Bart

Hallo Bart,

wäre es ok die in def start_next_input(self) zu platzieren? Oder verhält sich das da ähnlich?

Da ist es i.O., weil diese Methode nach einem erfolgreichem Input aufgerufen wird - sie ist also Aktion-bezogen.