Шаг 146.
Библиотека PyQt5.
Списки и таблицы. Представления. Класс QAbstractItemView
На этом шаге мы рассмотрим назначение, иерархию наследования и основные методы этого класса.
Абстрактный класс QAbstractItemView является базовым классом для всех рассмотренных ранее представлений. Иерархия наследования выглядит так:
(QObject, QPaintDevice) - QWidget - QFrame - QAbstractScrollArea -
QAbstractItemView
Класс QAbstractItemView поддерживает такой набор полезных для нас методов (полный их список доступен на странице
http://doc.qt.io/qt-5/qabstractitemview.html):
- setModel (<QAbstractItemModel>) - задает для представления модель. В качестве параметра передается экземпляр одного из
классов, порожденных от класса QAbstractItemModel;
- model () - возвращает заданную для представления модель;
- selectedIndexes () - возвращает выделенные в списке элементы, представленные списком экземпляров класса QModelIndex;
- setCurrentIndex (<QModelIndex>) - делает элемент с указанным индексом (экземпляр класса QModelIndex) текущим. Метод является слотом;
- currentIndex () - возвращает индекс (экземпляр класса QModelIndex) текущего элемента;
- setRootIndex (<QModelIndex>) - задает корневой элемент. В качестве параметра указывается экземпляр классаQModelIndex. Метод является слотом;
- rootIndex () - возвращает индекс (экземпляр класса QModelIndex) корневого элемента;
- setAlternatingRowColors (<Флаг>) - если в качестве параметра указано значение True, то четные и нечетные строки будут иметь разный цвет фона;
- setIndexWidget (<QModelIndex>, <QWidget>) - устанавливает компонент в позицию, указанную индексом (экземпляр класса
QModelIndex), и делает его потомком представления. Если в той позиции уже находится какой-то компонент, он удаляется;
- indexWidget (<QModelIndex>) - возвращает ссылку на компонент, который был ранее установлен в позицию, указанную индексом (экземпляр класса QModelIndex);
- setSelectionModel (<QItemSelectionModel>) - устанавливает модель выделения;
- selectionModel () - возвращает модель выделения;
- setSelectionMode (<Режим>) - задает режим выделения элементов. В качестве параметра указываются следующие атрибуты класса QAbstractItemView:
- NoSelection (или 0) - элементы не могут быть выделены;
- SingleSelection (или 1) - можно выделить только один элемент;
- MultiSelection (или 2) - можно выделить несколько элементов. Повторный щелчок на элементе снимает выделение;
- ExtendedSelection (или 3) - можно выделить несколько элементов, щелкая на них мышью и удерживая при этом нажатой клавишу Ctrl. Можно также нажать на
элементе левую кнопку мыши и перемещать мышь, не отпуская кнопку. Если удерживать нажатой клавишу Shift, все элементы от текущей позиции до позиции щелчка мышью выделяются;
- CotiguousSelection (или 4) - можно выделить несколько элементов, нажав на элементе левую кнопку мыши и перемещая мышь, не отпуская кнопку. Если удерживать
нажатой клавишу Shift, все элементы от текущей позиции до позиции щелчка мышью выделяются;
- setSelectionBehavior (<Режим>) - задает режим представления выделенных элементов. В качестве параметра указываются следующие атрибуты класса QAbstractItemView:
- SelectItems (или 0) - выделяется отдельный элемент;
- SelectRows (или 1) - выделяется строка целиком;
- SelectColumns (или 2) - выделяется столбец целиком;
- selectAll () - выделяет все элементы. Метод является слотом.
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг