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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: QTableWidget - конструирование сложной таблицы  (Прочитано 16737 раз)
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« : Декабрь 14, 2012, 17:25 »

Добрый день уважаемое сообщество.
Есть у меня небольшая тема для обсуждения. Может быть кто с этим сталкивался, но на просторах сети я не нашел примера.
Вот в чем задача создать таблицу, но не простую - столбцы и колонки, а немного усложненную (скрин прилагаю.)
И в эту таблицу данные не просто выгружаются, но приходится добавлять новые строки, которые могут находится в разных группах и разделах, а также удаление и редактирование.
Первое мое решение в QTableWidget каждой строке находилась отдельная таблица QTableWidget, представляющая раздел верхнего уровня, а в ее строке таблица представляющая Группу и в неё же далее добавляется строка с данными. Но как то это решение мне уже не особо нравится с увеличением этих QTableWidget.
Т.е. структура такова:
Цитировать
Диалог и в нем QTableWidget
                      |
                      +-строка это QTableWidget - header
                                         |
                                         +-строка это QTableWidget - group
                                         |                  |
                                         |                  +-строка это QTableWidgetItem - мы
                                         +-строка это QTableWidget - group
и т.д.
Короче налепил я много чего.
Хотел бы узнать, может быть как то иначе это все можно сделать?

Сейчас пытаю переделать все, вернутся к одной таблице, и добавлять все заголовки и группы как обычные итемы.
« Последнее редактирование: Декабрь 14, 2012, 17:28 от kolob » Записан

Qt 5.11.0, Win, MinGW
Bepec
Гость
« Ответ #1 : Декабрь 14, 2012, 17:40 »

Разве древовидная модель не позволяет сделать это?

Хм. Могу ошибаться, но где то уже реализовывалось такое в темах.
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #2 : Декабрь 14, 2012, 17:43 »

Цитировать
Разве древовидная модель не позволяет сделать это?

Вы предлагаете использовать MVC. Но а как же быть со строками которых в модели нет и не может быть, а которые добавляются непосредственно в tablewidget например сумма по элементам в группе?

Цитировать
Хм. Могу ошибаться, но где то уже реализовывалось такое в темах.
если найдете скинте ссылку посмотреть.
Записан

Qt 5.11.0, Win, MinGW
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Декабрь 14, 2012, 18:50 »

>Но а как же быть со строками которых в модели нет
дак сделать свою модель.
Записан

Юра.
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #4 : Декабрь 14, 2012, 23:05 »

Цитировать
дак сделать свою модель.
Своя модель это конечно хорошо. Но когда много таких форм где таблицы могут (~15-20) отличатся по структуре. Для каждой создавать модель, как то накладно будет.
Записан

Qt 5.11.0, Win, MinGW
Bepec
Гость
« Ответ #5 : Декабрь 15, 2012, 11:56 »

Значит нужно создать свою универсальную модель. От которой бушь наследоваться и создавать свои. Или же интерпретатор напиши. Чтобы допустим текст в определённом формате конвертировался в данные для таблицы.
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #6 : Декабрь 16, 2012, 09:29 »

а что вы скажите, если банально использовать QTableWidget и добавлять туда строки с данными из БД
Записан

Qt 5.11.0, Win, MinGW
Bepec
Гость
« Ответ #7 : Декабрь 16, 2012, 10:11 »

Ничего не скажу Веселый Вполне возможно.
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #8 : Декабрь 16, 2012, 10:26 »

Bepec спасибо за советы
Записан

Qt 5.11.0, Win, MinGW
Bepec
Гость
« Ответ #9 : Декабрь 16, 2012, 12:11 »

Да что вы, ничего превосходного я не насоветовал. Так, обычные тяготы Улыбающийся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #10 : Декабрь 16, 2012, 17:52 »

Добрый день уважаемое сообщество.
Есть у меня небольшая тема для обсуждения. Может быть кто с этим сталкивался, но на просторах сети я не нашел примера.
Вот в чем задача создать таблицу, но не простую - столбцы и колонки, а немного усложненную (скрин прилагаю.)
Предлагаю разделить задачу на части, т.е. ты делаешь:
- форма с деревом и таблица элементов - это для ввода новых элементов.
- Форма соответственно для редактирования этих элементов или что там у тебя.
- Отчет, куда все это выводится как на скрине. А в отчете уже группируй и суммируй как тебе вздумается.
П.С. Ты просто смешал сущности и уперся в это кровосмешение.

Сейчас пытаю переделать все, вернутся к одной таблице, и добавлять все заголовки и группы как обычные итемы.
Это ты себе только проблемы создаешь.
ПС2. Опиши задачу абстрактно, не смету ли считаешь?
« Последнее редактирование: Декабрь 16, 2012, 17:55 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #11 : Декабрь 16, 2012, 18:37 »

Цитировать
Предлагаю разделить задачу на части, т.е. ты делаешь:
- форма с деревом и таблица элементов - это для ввода новых элементов.
- Форма соответственно для редактирования этих элементов или что там у тебя.
- Отчет, куда все это выводится как на скрине. А в отчете уже группируй и суммируй как тебе вздумается.
П.С. Ты просто смешал сущности и уперся в это кровосмешение.

Дело в том что все перечисленное должно выполнятся в одной форме, как в экселе.

Цитировать
Это ты себе только проблемы создаешь.
В чем тут проблема? Конечно с моделью было бы легче.
« Последнее редактирование: Декабрь 16, 2012, 18:39 от kolob » Записан

Qt 5.11.0, Win, MinGW
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #12 : Декабрь 16, 2012, 18:41 »

Цитировать
Предлагаю разделить задачу на части, т.е. ты делаешь:
- форма с деревом и таблица элементов - это для ввода новых элементов.
- Форма соответственно для редактирования этих элементов или что там у тебя.
- Отчет, куда все это выводится как на скрине. А в отчете уже группируй и суммируй как тебе вздумается.
П.С. Ты просто смешал сущности и уперся в это кровосмешение.
Дело в том что все перечисленное должно выполнятся в одной форме, как в экселе.
Не перебор? А то бывает.
А что за задача? Что конкретно считаешь? Смету?
ПС. Я бы все равно разделил бы формы ввода и отчетность = это тру путь.
« Последнее редактирование: Декабрь 16, 2012, 18:48 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #13 : Декабрь 16, 2012, 19:17 »

Цитировать
ПС. Я бы все равно разделил бы формы ввода и отчетность = это тру путь.
Я бы тоже так сделал. Но как говорится, кто платит, тот и заказывает музыку.
Приложение с кучей форм (причем различных по структуре, некоторые даже по горизонтали расширяются), в которых считается доход, расход и т.д. по различным группам и все вместе.
Вот так.
Предложение сделать универсальную модель -это конечно кое что, но затратно по времени.
Поэтому делаю в лоб. В ручную добавляю строки и т.д.
Записан

Qt 5.11.0, Win, MinGW
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #14 : Декабрь 16, 2012, 20:32 »

Приложение с кучей форм (причем различных по структуре, некоторые даже по горизонтали расширяются), в которых считается доход, расход и т.д. по различным группам и все вместе.
Всего-то...
Я такую сложную таблицу делал только один раз помнится - когда небольшая фирма торговала молочными продуктами и поставки были ограниченного объема и надо было тщательно разбросать объем по заявкам и не превысить остаток на складе.
40 или 50 покупателей - на каждого покупателя по 4 колонки, сверху итоги, по строкам продукты с остатками и количеством заявочное кол-во и кол-во к отгрузке. При окончательной обработке создавались кипа документов в 1С.
По слухам потом мою обработку предприимчивый прог загнал 5-6 подобным фирмам за нехилтон сумму денюг Улыбающийся
Извратов конечно в этом мире дофига, но есть и нужные извраты Улыбающийся
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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