QVariant data() роли. |
Здравствуйте, гость ( Вход | Регистрация )
QVariant data() роли. |
Ponchikus |
15.7.2015, 3:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 21 Регистрация: 25.6.2015 Пользователь №: 4411 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте!!!
Начал потихоньку изучать модель/представление. Появилось пару вопросов, прошу разъяснить мне простым языком некоторые моменты. А именно. Первое. Как вообще использовать роли ? Как они вызываются в приложении, для чего они вообще нужны и что с ними можно делать?? Второе. Функция QVariant data(const QModelIndex &index, int role) const; Когда она вызывается? Кто ее вызывает? Сама роль вызывает эту функцию? Третье. В документации, есть описание - Описание Роли элемента Роль указывает модели, данные какого типа будут переданы. Представления могут отображать роли различными способами, поэтому важно обеспечить информацию, соответствующую каждой роли. Не могли бы вы пояснить ее более простыми словами, с примерами, если можно. Помогите понять, что-то вообще не могу сообразить как все устроено... СПАСИБО! |
|
|
lanz |
15.7.2015, 18:16
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Цитата QVariant преобразуется в QSize, и изменит размер ячейки (10,10)?? Ну это зависит от реализации конкретного представления, может поменять, а может проигнорировать Цитата А как тогда модель определяет, какая именно роль в данный момент ей передается?? Это похоже на обработчика событий (QPaintEvent, QResizeEvent...)?? Да вот же она, передается как параметр: QVariant MyModel::data( const QModelIndex & idx, Qt::ItemDataRole role ) Сообщение отредактировал lanz - 15.7.2015, 18:16 |
|
|
Ponchikus |
15.7.2015, 18:30
Сообщение
#3
|
Студент Группа: Участник Сообщений: 21 Регистрация: 25.6.2015 Пользователь №: 4411 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата А как тогда модель определяет, какая именно роль в данный момент ей передается?? Это похоже на обработчика событий (QPaintEvent, QResizeEvent...)?? Цитата Да вот же она, передается как параметр: QVariant MyModel::data( const QModelIndex & idx, Qt::ItemDataRole role ) Это понятно, а как представление определяет с какой именно ролью вызывать эту функцию?? Т.е. как представление определяет что сейчас передается роль Qt::ToolTipRole, откуда оно узнаёт что мы передаётся роль 13(Qt::ToolTipRole) ? |
|
|
Текстовая версия | Сейчас: 1.12.2024, 2:09 |