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()
|