Die Anmerkung verstehst DFu auch nicht ganz. Sie bezieht sich auf eine Besonderheit der GUI Scripts. Markierte Source Code Teile werden, wenn man ein Script mit dem GUI Designer lädt, auch mit als Source Code geladen und beim Speichern wieder mitgespeichert.jerch hat geschrieben:Auch verstehe ich diese Anmerkung nicht: "buttons are dynamically created, so the widgets shall not be saved. Only the code, which creates them shall be saved" - was meinst Du hier mit dynamisch?
Der Ausdruck besagt, dass hier der Sourcecode gespeichert werden soll, aber die Widgets für diesen Container nicht. Man will ja nicht dynamisch erzeugte Widgets nochmals zusätzlich als statische Widgets speichern.
Diese Funktion sollte man für den Export auch haben, denke ich, allerdings der Name paßt dann nicht ganz. Sollte man wohl umbennen. Das wäre, wenn ein Container nur dynamisch erzeugte Widgets hätte. Was allerdings bei einer Mischung von statisch und und dynamisch erzeugten Widgets sein sollte, darüber habe ich noch nicht nachgedacht. Man kann natürlich den Container markieren, dass die Widgets nicht gespeichert werden, aber die Definition der statischen Widgets durch eine Leerzeile von der __init__ trennen, damit sie erhalten bleiben.
Und wenn man sie doch mal editieren will, kann man zwischendurch mal die Erzeugung der dynamischen Widgets unterdrücken und die Sperre wieder herausnehmen oder auch die doppelten Widgets wieder löschen.
Also die Sperrfunktion sollte ich noch machen. Die saveOnlyCode speicher die Widgets nicht und Lock sorgt dafür, dass man den Container gar nicht mal betreten kann im GuiDesigner. Als Methode ist sie jetzt nicht implementiert, aber mit .isLocked = True, kann man jetzt auch den Container sperren und es wird dann auch keine Klasse für den Container erzeugt und man kann dann auch nicht in den Container mit dem GuiDesigner hinein. Sperren geht also doch schon.