Russian Qt Forum
Ноябрь 24, 2024, 17:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: ComboBox с таблицей  (Прочитано 4854 раз)
Serr500
Гость
« : Ноябрь 26, 2012, 15:09 »

Возникла следующая задача. Требуется сделать аналог QComboBox'а, но вместо простых строчек текста в выпадающем списке должна находиться полноценная таблица (QTableView). У таблицы должен быть заголовок, столбцы которого можно перетаскивать, менять ширину и т.д. Более того, должна быть возможность изменять высоту таблицы с помощью мыши (можно ещё и ширину, но это не обязательно). Кроме того, в обычном QComboBox выбор элемента из списка осуществляется одинарным щелчком. Здесь выбора элемента быть не должно, точнее говоря, таблица должна генерировать сигналы в ответ на одинарный и двойной щелчок мышью, а выбор сделает некий внешний по отношению к ней обработчик. Ну и всё это хозяйство должно быть "завёрнуто" в отдельный класс.

Соответственно вопрос: есть идеи как такое реализовать?

P.S. Насколько я понял, в QComboBox в выпадающий список можно "запихнуть" QTableView, но тогда элемент будет выбираться по одинарному щелчку и не будет возможности изменения размера. Или можно как-то выполнить все условия задачи, унаследовавшись от комбо-бокса?
Записан
maint
Гость
« Ответ #1 : Ноябрь 26, 2012, 15:45 »

я на основе QLineEdit делал подобное. Правда не выпадал диалог, а как модальное окно
Записан
kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Ноябрь 26, 2012, 16:43 »

комбобоксу же можно модель и вью назначить
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Serr500
Гость
« Ответ #3 : Ноябрь 27, 2012, 10:56 »

комбобоксу же можно модель и вью назначить
А изменять размер View мышью оно даст? И как запретить выбор элемента одинарным щелчком?
Записан
kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Ноябрь 27, 2012, 14:28 »

по умолчанию комбобокс не разрешает растягивать свой список. и это и одинарный щелчёк должны по идее решаться наследованием и исследованием исходников.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Serr500
Гость
« Ответ #5 : Ноябрь 27, 2012, 15:25 »

Смотрел уже исходники. Там такое понакручено...  Обеспокоенный Неделю разбираться придётся...

Вобщем, направление движения понятно. Либо переписывать QComboBox, либо прикручивать к QLineEdit модальное окно. Второй вариант мне кажется более простым. С него, пожалуй, и начну.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.