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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTablewidget / QTableView подкиньте идею.....  (Прочитано 5123 раз)
hotsanchous
Гость
« : Июль 08, 2010, 11:36 »

Хочу сделать так, чтобы очень длинная таблица(например 1000 строк) при достижении нижней границы контейнера не включала скрол, а переносила содержимое в другую колонку справа(например их на экране может быть 3 и более), а при изменении размера окна строки корректно распределялись бы между этими колонками. Что-то аналогичное можно увидеть в файловом менеджере Far при выводе списка файлов... Сломал себе уже всю голову.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июль 08, 2010, 12:11 »

тут наверное своё представление писать лучше, сильно специфичное поведение
Записан

Юра.
hotsanchous
Гость
« Ответ #2 : Июль 08, 2010, 12:20 »

а может хотя бы идею подкинешь, при помощи чего вообще такое можно замутить??? Я просто пока слабо себе представляю все возможности Qt, понял только что возможностей у него куча Улыбающийся))
Записан
Hordi
Гость
« Ответ #3 : Июль 08, 2010, 12:39 »

Если втупую, то переопределяешь resizeEvent, в нем высчитываешь кол-во строк на экране исходя из высоты каждой записи, если не влазят на экран - добавляешь колонку и переносишь записи в нее и т.д.
Записан
Ultra
Гость
« Ответ #4 : Июль 08, 2010, 12:44 »

Думаю можно написать функцию распределения информации по таблице. Загоняем всю инфу в QStringList, определяем кол-во доступных строк в столбце (я не знаю можно ли это сделать, с таблицами в QT еще не работал). Кол-во элементов массива делим на кол-во доступных строк и округляем в большую сторону, по идеи получим минимальное кол-во необходим столбцов для распределения всей информации. Потом включаем цикл самого распределения, то есть, у нас есть i (номер элемента массива) и пока этот номер меньше максимально допустимого значения строки столбца j=0, потом уже j=1, j=2.... j=n. где j - номер столбца.
Ну а уже при ресайзе окна и изменение таблицы вызывать функцию. Но это только теория и то если я правильно понял задачу.
p.s. первый пост Улыбающийся
Записан
hotsanchous
Гость
« Ответ #5 : Июль 08, 2010, 12:56 »

Всем спасибо за ответы. Я ,в принципе, тоже предполагал именно такой ход решения проблемы(с пересчетом записей), но ,как всегда,  хотелось халявы Улыбающийся)) Думал может есть какие стандартные примочки. Халявы не будет => РАБОТАТЬ Улыбающийся))
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Июль 08, 2010, 13:08 »

А чем не подходит QListView с QListView::setFlow( LeftToRight )?
Записан

Qt 5.11/4.8.7 (X11/Win)
hotsanchous
Гость
« Ответ #7 : Июль 08, 2010, 19:18 »

А чем не подходит QListView с QListView::setFlow( LeftToRight )?
Как я понял это дает только одну запись в колонке, а мне надо в колонку записей до упора, а лишь потом переходить в другую колонку.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #8 : Июль 09, 2010, 10:52 »

Цитировать
Как я понял это дает только одну запись в колонке, а мне надо в колонку записей до упора, а лишь потом переходить в другую колонку.
Чего-то я не понимаю чего вам нужно. Допустим у вас не 1000 строк, а всего одна. Сколько колонок у вас должно быть в этом случае?
Записан

Qt 5.11/4.8.7 (X11/Win)
hotsanchous
Гость
« Ответ #9 : Июль 09, 2010, 11:44 »

Цитировать
Как я понял это дает только одну запись в колонке, а мне надо в колонку записей до упора, а лишь потом переходить в другую колонку.
Чего-то я не понимаю чего вам нужно. Допустим у вас не 1000 строк, а всего одна. Сколько колонок у вас должно быть в этом случае?
В этом случае 1. Наглядный пример - список файлов в панели файлового менеджера Far.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Июль 09, 2010, 11:51 »

Цитировать
В этом случае 1. Наглядный пример - список файлов в панели файлового менеджера Far.
Тогда я не понимаю почему вас не устраивает QListView. См. для примера QFileDialog в режиме просмотра "Список".
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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