Шаг 137.
Библиотека PyQt5.
Списки и таблицы. Роли элементов
На этом шаге мы рассмотрим назначение и установку ролей.
Каждый элемент списка хранит набор величин, каждая из которых относится к определенной роли: текст элемента, шрифт и цвет, которым отображается элемент, текст всплывающей подсказки и
многое другое. Перечислим роли элементов (атрибуты класса Qtcore.Qt):
- DisplayRole (или 0) - отображаемые данные (обычно текст);
- DecorationRole (или 1) - изображение (обычно значок);
- EditRole (или 2) - данные в виде, удобном для редактирования;
- ToolTipRole (или 3) - текст всплывающей подсказки;
- StatusTipRole (или 4) - текст для строки состояния;
- WhatsThisRole (или 5) - текст для справки;
- FontRole (или 6) - шрифт элемента. Указывается экземпляр класса QFont;
- TextAlignmentRole (или 7) - выравнивание текста внутри элемента;
- BackgroundRole (или 8) - фон элемента. Указывается экземпляр класса QBrush;
- ForegroundRole (или 9) - цвет текста. Указывается экземпляр класса QBrush;
- CheckStateRole (или 10) - статус флажка. Могут быть указаны следующие атрибуты класса QtCore.Qt:
- Unchecked (или 0) - флажок сброшен;
- PartiallyChecked (или 1) - флажок частично установлен;
- Checked (или 2) - флажок установлен;
- AccessibleTextRole (или 11) - текст, выводящийся специализированными устройствами вывода, например системами чтения с экрана;
- AccessibleDescriptionRole (или 12) - описание элемента, выводящееся специализированными устройствами вывода, например системами чтения с экрана;
- SizeHintRole (или 13) - рекомендуемый размер элемента. Указывается экземпляр класса QSize;
- UserRole (или 32) - любые пользовательские данные (например, индекс элемента в базе данных). Можно сохранить несколько данных, указав их в роли с индексом более 32.
Пример:
comboBox.setItemData(0, 50, role=QtCore.Qt.UserRole)
comboBox.setItemData(0, "Другие данные", role=QtCore.Qt.UserRole + 1)
Со следующего шага мы начнем рассматривать модели.
Предыдущий шаг
Содержание
Следующий шаг