Название: Несколько колонок в QListView. Как? Отправлено: voltron от Январь 28, 2013, 15:48 Возникла необходимость в отображении нескольких колонок элементов в QListView. Нечто похожее на область просмотра файлов в Проводнике, когда там отображаются имена файлов в несколько столбцов и при изменении размера окна число столбцов и их высота (количество элементов) автоматически меняется.
Рассматривал вариант с использованием QTableView, но там фиксированный размер таблицы, что не подходит. Можно ли сделать такое в Qt? Если да, то с чего начинать, может, есть примеры кода? Qt 4.8.2, Windows/Linux/Mac OS Название: Re: Несколько колонок в QListView. Как? Отправлено: vintik от Январь 28, 2013, 17:11 Есть виджет QColumnView, можно на него посмотреть. Честно говоря, не помню как там проводник работает..
Кстати, в любой вьюхе можно скрывать колонки. Так что не вижу проблем в использовании QTableView. Главное понять когда и при каких условиях скрывать/отображать определённые колонки. Название: Re: Несколько колонок в QListView. Как? Отправлено: GreatSnake от Январь 28, 2013, 17:45 Код Нет, чтобы просто по-внимательнее посмотреть описание QListView в ассистенте, начинают изобретать велосипед... Название: Re: Несколько колонок в QListView. Как? Отправлено: voltron от Январь 29, 2013, 15:58 Код Нет, чтобы просто по-внимательнее посмотреть описание QListView в ассистенте, начинают изобретать велосипед... Угу, и будут колонки кривые и косые, вот такие (http://i50.tinypic.com/2u5ccy9.png) Посоветуйте невелосипедное решение, чтобы было примерно так при любых изменениях размера окна и произвольных длинах текста (http://i47.tinypic.com/240zxo1.png) Название: Re: Несколько колонок в QListView. Как? Отправлено: GreatSnake от Январь 29, 2013, 16:20 Тогда не выставляй flow и включи wrapping и задай resizeMode:
Код
Название: Re: Несколько колонок в QListView. Как? Отправлено: _OLEGator_ от Январь 29, 2013, 17:03 Возможно это поможет:
Код
Название: Re: Несколько колонок в QListView. Как? Отправлено: GreatSnake от Январь 29, 2013, 17:07 Возможно это поможет: Сей флаг используется только для оптимизации. На отображение он не влияет.Код
Указанные мной выше правки полностью решают проблему ТС. Название: Re: Несколько колонок в QListView. Как? Отправлено: _OLEGator_ от Январь 29, 2013, 21:26 Сей флаг используется только для оптимизации. На отображение он не влияет. Указанные мной выше правки полностью решают проблему ТС. А если проверить? У меня он как раз всем элементам списка размер выставил одинаковый, правда теперь в некоторых элементах текст не помещается и обрезается тремя точками. Название: Re: Несколько колонок в QListView. Как? Отправлено: voltron от Февраль 04, 2013, 15:29 Тогда не выставляй flow и включи wrapping и задай resizeMode: Спасибо, почти то, что нужно. А можно как-то добиться отображения полных, а не обрезанных подписей?Код
Название: Re: Несколько колонок в QListView. Как? Отправлено: GreatSnake от Февраль 04, 2013, 16:55 Спасибо, почти то, что нужно. А можно как-то добиться отображения полных, а не обрезанных подписей? А зачем включил uniformItemSizes?Название: Re: Несколько колонок в QListView. Как? Отправлено: voltron от Февраль 05, 2013, 10:47 А зачем включил uniformItemSizes? Упс... Виноват, осталось от предыдущих экспериментов. Спасибо, теперь все работает как надо |