SpiritFire
Гость
|
|
« : Декабрь 28, 2009, 21:36 » |
|
Скажите, пожалуйста, каким образом можно по аналогии с QTableWidget добавить произвольный виджет в заголовок таблицы?
Может я туплю, но поиск по форуму не дал ничего кроме целого воза оффтопа о том, как нехорошо добавлять чекбокс в заголовок таблицы.
Зачем это нужно: В заголовке таблицы есть выпадающее меню. Выпадающее меню управляет фильтром для таблицы. Меню-фильтр с чекбоксами написать не проблема, проблема в следующем - как добавить произвольную кнопку в заголовок? Также было бы неплохо (но это уже более сомнительный вариант) добавить туда "канцелярскую кнопку" которая при нажатии жестко закрепит на экране столбец (сделает независимым от горизонтального скроллинга).
PS. Я видел, что у этого решения есть много сторонников и много противников. Плюсы и минусы отлично понимаю:
- это мощный способ захламить заголовок таблицы при отсутствии чувства меры и светлой головы, - нестандартный контрол в заголовке может вызвать неприязнь. Особенно, если не продумать, когда он там нужен, когда нет. - есть люди, считающие, что любое отклонение от стандарта - это плохо. Практически согласен, но: если бы никто не отходил от стандарта на работу бы мы ездили в колесницах. Хотя с дуру, как известно, можно и хуязык сломать, спору нет -- новое добавляем ооооочень осторожно.
+ если нужен фильтр, но не хочется отдавать фильтру много места на экране это удачная идея: есть фильтр, который абсолютно не занимает места на экране + если сделать кнопку, которая прямо кричит "я фильтр, а не что иное" - люди легко догадаются, зачем это нужно
Где это уже использовалось: * проводник Windows 7. Именно в таком виде. И нельзя не заметить, что в этом случае (проводник) это оптимальная фильтрация с точки зрения занимаемого места и "незагромождения" экрана. ИМХО, очень удобная, для отфильтрации трех экселевских документов из общей кучи в 50 файлов это более чем удобно. * семейство компонент-таблиц от Devexpress. У них таблицы судя по демкам перегруженные, но можно сделать лучше. * почта.
В общем, вопрос в не в том, нужно ли это, и не в том, когда это нужно, а в том, каким образом это реализовать там, где требуется?
ЗЗЫ. Прошу прощения за тучу букв, и может, слишком подробное описание -- вопрос описан очень подробно не потому, что я считаю участников форума не догадливыми (совсем наоборот), а лишь потому, что видел, что вопрос по сходной теме перерос в 4-х страничный флуд "а зачем?". Еще раз прошу - направьте, пожалуйста, "КАК", а зачем - это уже на моей ответственности.
|