Class: QgsSearchWidgetWrapper¶
Shows a search widget on a filter form.
Note
This is an abstract class, with methods which must be implemented by a subclass.
The following methods must be implemented: applyDirectly(), QgsWidgetWrapper.createWidget(), expression(), setExpression(), QgsWidgetWrapper.valid()
Class Hierarchy¶
Base classes¶
Manages an editor widget. |
|
Subclasses¶
Wraps a checkbox edit widget for searching. |
|
Wraps a date/time edit widget for searching. |
|
Wraps a search widget. |
|
Search widget for the children of a relation. |
|
Wraps a relation reference search widget. |
|
Wraps a value map search widget. |
|
Wraps a value relation search widget. |
- class qgis.gui.QgsSearchWidgetWrapper[source]¶
Bases:
QgsWidgetWrapper- __init__(vl: QgsVectorLayer | None, fieldIdx: int, parent: QWidget | None = None)
Create a new widget wrapper
- Parameters:
vl (Optional[QgsVectorLayer]) – The layer on which the field is
fieldIdx (int) – The field which will be controlled
parent (Optional[QWidget] = None) – A parent widget for this widget wrapper and the created widget.
- Between = 128¶
- CaseInsensitive = 256¶
- Contains = 512¶
- DoesNotContain = 1024¶
- EndsWith = 32768¶
- EqualTo = 2¶
- class FilterFlag¶
Bases:
int
- class FilterFlags¶
- class FilterFlags(f: QgsSearchWidgetWrapper.FilterFlags | QgsSearchWidgetWrapper.FilterFlag)
- class FilterFlags(a0: QgsSearchWidgetWrapper.FilterFlags)
Bases:
object
- GreaterThan = 8¶
- GreaterThanOrEqualTo = 32¶
- IsNotBetween = 4096¶
- IsNotNull = 8192¶
- IsNull = 2048¶
- LessThan = 16¶
- LessThanOrEqualTo = 64¶
- NotEqualTo = 4¶
- StartsWith = 16384¶
- aggregate(self) str[source]¶
If in AggregateSearch mode, which aggregate should be used to construct the filter expression. Is a Null String if none.
- Return type:
str
- abstract applyDirectly(self) bool[source]¶
If this is
True, then this search widget should take effect directly when its expression changes- Return type:
bool
- virtual clearWidget(self)[source]¶
Clears the widget’s current value and resets it back to the default state
- virtual createExpression(self, flags: QgsSearchWidgetWrapper.FilterFlags | QgsSearchWidgetWrapper.FilterFlag) str[source]¶
Creates a filter expression based on the current state of the search widget and the specified filter flags.
- Parameters:
flags (Union[QgsSearchWidgetWrapper.FilterFlags, QgsSearchWidgetWrapper.FilterFlag]) – filter flags
- Return type:
str
- Returns:
filter expression
- createFieldIdentifier(self) str[source]¶
Gets a field name or expression to use as field comparison. If in SearchMode returns a quoted field identifier. If in AggregateSearchMode returns an appropriate aggregate expression.
- Return type:
str
- virtual defaultFlags(self) QgsSearchWidgetWrapper.FilterFlags[source]¶
Returns the filter flags which should be set by default for the search widget.
See also
- Return type:
- static exclusiveFilterFlags() List[QgsSearchWidgetWrapper.FilterFlag]¶
Returns a list of exclusive filter flags, which cannot be combined with other flags (e.g., EqualTo/NotEqualTo)
See also
- Return type:
- abstract expression(self) str[source]¶
Will be used to access the widget’s value. Read the value from the widget and return it properly formatted to be saved in the attribute.
If an invalid variant is returned this will be interpreted as no change. Be sure to return a NULL QVariant if it should be set to NULL.
- Return type:
str
- Returns:
The current value the widget represents
- signal expressionChanged[source]¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- static nonExclusiveFilterFlags() List[QgsSearchWidgetWrapper.FilterFlag]¶
Returns a list of non-exclusive filter flags, which can be combined with other flags (e.g., CaseInsensitive)
See also
- Return type:
- setAggregate(self, aggregate: str | None)[source]¶
If in AggregateSearch mode, which aggregate should be used to construct the filter expression. Is a Null String if none.
- Parameters:
aggregate (Optional[str])
- virtual setEnabled(self, enabled: bool)[source]¶
Toggles whether the search widget is enabled or disabled.
- Parameters:
enabled (bool) – set to
Trueto enable widget
- abstract setExpression(self, expression: str | None)[source]¶
Set the
expressionwhich is currently used as filter for this widget.- Parameters:
expression (Optional[str])
- virtual supportedFlags(self) QgsSearchWidgetWrapper.FilterFlags[source]¶
Returns filter flags supported by the search widget.
See also
- Return type:
- static toString(flag: QgsSearchWidgetWrapper.FilterFlag) str[source]¶
Returns a translated string representing a filter flag.
- Parameters:
flag (QgsSearchWidgetWrapper.FilterFlag) – flag to convert to string
- Return type:
str
- signal valueChanged[source]¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- signal valueCleared[source]¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.