Реализация специфического редактирования QStandardItem, Помогите выбрать направление, в котором копать |
Здравствуйте, гость ( Вход | Регистрация )
Реализация специфического редактирования QStandardItem, Помогите выбрать направление, в котором копать |
lojka |
1.3.2009, 13:31
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 24.1.2009 Пользователь №: 506 Спасибо сказали: 0 раз(а) Репутация: 0 |
Прикрепляю файл-картинку, показывающую, что я хочу реализовать
В общем есть QTableView, на неё установлена модель QStandardItemModel, состоящая, соответственно, из QStandardItem. Для некоторых строк этого представления не требуется особенного делегата, т.е. редиктируются стандартно. Но для некоторых надо, что бы при попытке редактирования появлялась кнопка с многоточием, как на рисунке, при нажатии на которую вылезал диалог, а потом диалог возвращал определенный текст в ячейку. Пока я догадался до двух вариантов плохой: просто создать кнопку на форме и делать её видимой каждый раз, когда выбрана запись, для которой нужна кнопка (соответственно расчитывать координаты этой кнопки в зависимости от выбранной записи) - бред помойму вариант получше: пишу делегат простейшей,подкласс от qitemdelegate, ставлю в виде editor-а уменьшенную кнопку, при клике на эту кнопку вызываю диалог, при закрытии диалога, передаю в модель,указатель на которую передан из приложения при вызове делегата, этот текст (что бы текст отобразился сразу, несмотря на то, что редактирование еще не завершено). извиняюсь,что скорее всего непонятно написал, если надо подробнее объяснить могу. вопрос мой в чем - правильно ли я думаю как надо делать или есть гораздо более легкие способы для реализации данной задачи? |
|
|
||
Litkevich Yuriy |
1.3.2009, 16:44
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Просто в этой таблице должны быть поля, которые вводятся не в ручную, а выбором из определенного списка (а список будет показан в диалоге), т.к. эта таблица служит для редактирования БД. тогда лучше комбобокс, а если поля из другой таблицы, то смотри QSqlRelationalTableModelи пример Relational Table Model Example |
|
|
lojka |
1.3.2009, 17:36
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 24.1.2009 Пользователь №: 506 Спасибо сказали: 0 раз(а) Репутация: 0 |
Просто в этой таблице должны быть поля, которые вводятся не в ручную, а выбором из определенного списка (а список будет показан в диалоге), т.к. эта таблица служит для редактирования БД. тогда лучше комбобокс, а если поля из другой таблицы, то смотри QSqlRelationalTableModelи пример Relational Table Model Example Для определённой задачи да, но в моих списках может быть огромная куча различных вариантов выбора (например несколько сотен для определенных полей), а так же надо обеспечить возможность поиска по этому списку, фильтрацию, так что комбобокс тут не совсем подходит... |
|
|
Текстовая версия | Сейчас: 30.11.2024, 0:15 |