Optionstypen
Die Klasse Option stellt Factory-Methoden zum Definieren typisierter, persistenter Optionen bereit, die UI-Steuerelemente in Tool- und Format-Plugin-Dialogen erzeugen.
Gemeinsame Parameter
Alle Options-Factorys akzeptieren diese Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
label | str | Anzeigebeschriftung (erstes Positionsargument) |
default | variiert | Standardwert |
tooltip | str | Tooltip-Text |
enabled_when | callable | Callback, der bool zurückgibt — steuert die Sichtbarkeit |
Option.integer()
Spinbox für Ganzzahlwerte.
count = Option.integer("Count", default=1, min=0, max=1000)| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | int | 0 | Standardwert |
min | int | None | Minimalwert |
max | int | None | Maximalwert |
Option.real()
Double-Spinbox für Gleitkommawerte.
scale = Option.real("Scale Factor", default=1.0, min=0.001, max=1e6, decimals=4)| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | float | 0.0 | Standardwert |
min | float | None | Minimalwert |
max | float | None | Maximalwert |
decimals | int | 2 | Angezeigte Dezimalstellen |
Option.boolean()
Kontrollkästchen für Wahr/Falsch-Werte.
flatten = Option.boolean("Flatten hierarchy", default=False)| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | bool | False | Standardwert |
Option.string()
Einzeiliges Textfeld.
name = Option.string("Output name", default="output")| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | str | "" | Standardwert |
Option.choice()
Dropdown-Auswahl.
mode = Option.choice("Mode", choices=["Fast", "Precise", "Custom"], default="Fast")| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
choices | list[str] | erforderlich | Verfügbare Optionen |
default | str | erste Auswahl | Standardauswahl |
Option.path()
Dateipfadauswahl mit Durchsuchen-Schaltfläche.
output = Option.path("Output file", file_filter="CSV Files (*.csv)")| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | str | "" | Standardpfad |
file_filter | str | "" | Dateityp-Filterzeichenfolge |
Option.color()
Farbauswahl-Schaltfläche.
fill = Option.color("Fill color", default="#FF0000")| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | str | "#000000" | Standardfarbe (Hex) |
Option.cell_choice()
Dropdown, das mit allen Zellennamen aus der aktuellen Zeichnung gefüllt wird.
target = Option.cell_choice("Target cell")| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
default | str | "" | Standard-Zellenname |
Option.table()
Bearbeitbares Raster mit typisierten Spalten. Siehe auch Tutorial zur Panel-Zusammenstellung.
entries = Option.table( "My Table", columns=[ TableColumn(key="name", label="Name", col_type="string"), TableColumn(key="value", label="Value", col_type="real", decimals=3), ],)| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
columns | list[TableColumn] | erforderlich | Spaltendefinitionen |
default | list[dict] | [] | Standardzeilen |
Der Wert ist eine list[dict], wobei jedes Dict Spaltenschlüssel auf Werte abbildet.
TableColumn
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
key | str | Dict-Schlüssel für diese Spalte |
label | str | Spaltenüberschrift |
col_type | str | string, integer, real, choice, cell_choice |
default | Any | Standardwert für neue Zeilen |
choices | list[str] | Optionen für choice-Spalten |
decimals | int | Dezimalstellen für real-Spalten |
min_value | int|float | Minimum für numerische Spalten |
max_value | int|float | Maximum für numerische Spalten |
Bedingte Sichtbarkeit
Verwenden Sie enabled_when, um Optionen dynamisch zu aktivieren/deaktivieren:
class MyTool(Tool): mode = Option.choice("Mode", choices=["Simple", "Advanced"]) threshold = Option.real( "Threshold", default=0.5, enabled_when=lambda self: self.mode == "Advanced", ) iterations = Option.integer( "Iterations", default=10, enabled_when=lambda self: self.mode == "Advanced", )Wenn mode „Simple“ ist, sind die Felder threshold und iterations ausgegraut.