TableLayer¶
-
class
axioma.render.
TableLayer
¶ Класс слоя, относящегося к таблице для просмотра и редактирования в нем данных.
Унаследован от:
FeatureLayer
От него наследуются:
CosmeticLayer
-
TableLayer
(table, parent)¶ Конструктор
-
TableLayer
(other)¶ Копирующий конструктор
- Параметры
other (
TableLayer
) – Исходный слой, на базе которого создается слой.
-
deleteFeatures
(features, description='')¶ Удаление существующих записей
-
featuresById
(idlist, attributes)¶ Возвращает записи по их идентификаторам в виде итератора
-
featuresById
(idlist)¶ Возвращает записи по их идентификаторам в виде итератора
-
featuresInRect
(georect, attributes)¶ Возвращает записи, попадающие в определенный регион в виде итератора
-
geometryAttribute
()¶ Геометрический атрибут таблицы.
- Результат
Возвращает описание геометрии слоя
- Тип результата
-
hasModified
()¶ Присутствуют ли изменения в базовой таблице.
- Результат
True, если да
- Тип результата
-
hasModified
()¶ Проверяется, имеются ли изменения в таблице
- Результат
True, если да. В противном случае False
- Тип результата
-
insertFeatures
(features, description='')¶ Вставка новых записей
-
isReadOnly
()¶ Доступен ли слой только на чтение.
- Результат
True, если слой доступен только на чтение, False, если слой доступен на чтение и запись
- Тип результата
-
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()
|