axioma.render.
TableLayer
¶Класс слоя, относящегося к таблице для просмотра и редактирования в нем данных.
Унаследован от: FeatureLayer
От него наследуются: CosmeticLayer
TableLayer
(table, parent)¶Конструктор
Параметры:
TableLayer
(other)Копирующий конструктор
Параметры: other ( TableLayer
) – Исходный слой, на базе которого создается слой.
deleteFeatures
(features, description = "")¶Удаление существующих записей
Параметры:
featuresById
(idlist, attributes)¶Возвращает записи по их идентификаторам в виде итератора
Параметры: Результат: Результирующий итератор
Тип результата:
featuresById
(idlist)Возвращает записи по их идентификаторам в виде итератора
Параметры: idlist ( list
[QVariant
]) – Список идентификаторовРезультат: Результирующий итератор Тип результата: Cursor
featuresInRect
(georect, attributes)¶Возвращает записи, попадающие в определенный регион в виде итератора
Параметры: Результат: Результирующий итератор
Тип результата:
geometryAttribute
()¶Геометрический атрибут таблицы.
Результат: Возвращает описание геометрии слоя Тип результата: GeometryAttributeDefinitionInterface
hasModified
()¶Присутствуют ли изменения в базовой таблице.
Результат: True, если да Тип результата: bool
hasModified
()Проверяется, имеются ли изменения в таблице
Результат: True, если да. В противном случае False Тип результата: bool
insertFeatures
(features, description = "")¶Вставка новых записей
Параметры:
isReadOnly
()¶Доступен ли слой только на чтение.
Результат: True, если слой доступен только на чтение, False, если слой доступен на чтение и запись Тип результата: bool
tableSchema
()¶Схема (структура) таблицы слоя.
Результат: Возвращает структуру таблицы, на которой основан слой Тип результата: TableSchema
Пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from axioma.core.dp import *
import axioma.gui
widgetService = axioma.app.gui.widgetManager
# Находим нужный нам слой по имени
for mapview in widgetService.allWidgets(axioma.gui.MapView.staticMetaObject):
layer = mapview.rootLayerGroup().findChildByName("world")
# Проверяем возможность изменения слоя и сохранения в нем информации
if layer is not None and not layer.isReadOnly():
# Создаем новый объект для слоя
new_feature = Feature.createFeature(layer.tableSchema())
# Заполняем при необходимости данными (пример можно посмотреть в классе HistorySnapshot)
# Вставляем
layer.insertFeatures([new_feature])
# Сохраняем
layer.table().commit()
|