![]() |
![]() |
![]() |
piknad@yandex.ru Начинающимизучать PythonГород Уфа
|
![]() |
![]() |
![]() |
|
Модели в Питоне Python3Использование модели и представления для списка list и comboboxДля отображения данных в виде списков и таблиц применяется "модель-представление", позволющее отделить данные от внешнего вида и избежать дублирования данных. В основе концепции лежат следующие составляющие: Модель- является "оберткой" над данными Позволяет добавлять, изменять, удалять данные и управлять ими; Представление-. предназначено для изображения элементов модели на экране.Сразу несколько представлений могут выводить одну модель. Модель выделения- позволяет управление выделением. Если одна модель выделения установлена сразу в нескольких представлениях , то выделение элемента в одном представлении ведет к выделению в других представлениях. Промежуточная модель- является прослойкой между моделью и представлением. Позволяет проводить сортировку, фильтрацию данных без изменения порядка следования элементов в базовой модели. Делегат- представляет компонент для вывода и редактирования данных.Существуют стандартные классы делегатов, но разработчик может создать свои классы. ПредставленияДля отображения элементов модели предназначены следующие классы представлений: Listview- реализует простой список с возможностью выбора как одного, так и нескольких пунктов. Пункты списка, помимо текстовой надписи, могут содержать значки.. Qtableview-реализует таблицу. Qtreeview- реализует иерархический список. Так же можно воспользоваться классами combobox (раскрывающий список) , QlistWidget -(простой список), Qtabewidget (таблица). и QtreeWidget( иерархический список). Последние 3 виджета нарушают концепцию "модель-представление", хотя и отчасти базируются Класс QstringlisModelФорматы конструктора класса QstringlisModel: <object>= QstringlisModel([parent=none]) <object>= QstringlisModel(<список строк>[,parent=None]) Пример:
После запуска программы выведется combobox со списком:
Усовершенствование см. далее 1 2 3 4 5 6
|
|
---|