Russian Qt Forum
Ноябрь 24, 2024, 23:31
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Размещение множества сложных виджетов
Страниц:
1
2
[
3
]
4
5
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Размещение множества сложных виджетов (Прочитано 22334 раз)
mutineer
Гость
Re: Размещение множества сложных виджетов
«
Ответ #30 :
Январь 05, 2012, 16:19 »
2 andrew.k
Видать его юзер хочет, чтобы все это выглядело как виджеты %)
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #31 :
Январь 05, 2012, 16:23 »
Цитата: mutineer от Январь 05, 2012, 16:19
2 andrew.k
Видать его юзер хочет, чтобы все это выглядело как виджеты %)
Он же сам говорил, что выглядеть должно так же как на скриншоте.
А где там "как виджеты"?
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #32 :
Январь 05, 2012, 16:28 »
Цитировать
Нет, я о другом говорил.
Твоя таблица (во вложении). Что в ней сложного? Все данные текстовые, ничего рисовать не нужно.
Делегат прекрасно справится с отображением и редактированием твоих данных.
И делай хоть 100 таких таблиц. Зачем все делать виджетами ума не приложу.
так это Exel и делает ... а как быть с событиями...
там ведь к каждой ячейке привязан свой скрытый класс с данными о дате, часах, тарифах, о дежурных, об объекте и т.п.
+ всякие нарушения , опоздания...
и потом контекстное меню меняется в зависимости от этих данных и вызывает различные доп. диалоги и др.
да и редакция в основном через контекстное меню за исключением может QCheckBox (ну его можно тоже в меню скрыть)
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #33 :
Январь 05, 2012, 16:35 »
Цитата: antipart от Январь 05, 2012, 16:28
Цитировать
Нет, я о другом говорил.
Твоя таблица (во вложении). Что в ней сложного? Все данные текстовые, ничего рисовать не нужно.
Делегат прекрасно справится с отображением и редактированием твоих данных.
И делай хоть 100 таких таблиц. Зачем все делать виджетами ума не приложу.
так это Exel и делает ... а как быть с событиями...
там ведь к каждой ячейке привязан свой скрытый класс с данными о дате, часах, тарифах, о дежурных, об объекте и т.п.
+ всякие нарушения , опоздания...
и потом контекстное меню меняется в зависимости от этих данных и вызывает различные доп. диалоги и др.
да и редакция в основном через контекстное меню за исключением может QCheckBox (ну его можно тоже в меню скрыть)
Модель тебе со всем этим поможет.
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #34 :
Январь 05, 2012, 16:35 »
Цитировать
И делай хоть 100 таких таблиц.
как сделать 100 таких таблиц в одной вьюхе? с объединенными строками и столбцами и разными делегатами?
да еще и ссылки на структуры данных прикрутить?
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #35 :
Январь 05, 2012, 16:38 »
Цитировать
Модель тебе со всем этим поможет.
я очень давно пользуюсь разными моделями, но не было необходимости делать такие сложные таблицы...
поэтому не знаю как это можно реализовать в Model/View
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #36 :
Январь 05, 2012, 16:39 »
Цитата: antipart от Январь 05, 2012, 16:35
Цитировать
И делай хоть 100 таких таблиц.
как сделать 100 таких таблиц в одной вьюхе? с объединенными строками и столбцами и разными делегатами?
да еще и ссылки на структуры данных прикрутить?
Мне сложно тут давать совет, потому что я бы ни за что на свете не стал бы делать такой интерфейсный кошмар.
Может оно и будет хорошо и удобно, но то как я сейчас себе это представляю по описанию меня пугает.
1. 100 вьюх и сто моделей.
2. Делать хитрую модель, которая будет в одной вьюхе показывать все это безобразие (но даже не знаю, стоит ли? не думаю)
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #37 :
Январь 05, 2012, 16:44 »
Цитата: antipart от Январь 05, 2012, 16:38
Цитировать
Модель тебе со всем этим поможет.
я очень давно пользуюсь разными моделями, но не было необходимости делать такие сложные таблицы...
поэтому не знаю как это можно реализовать в Model/View
Очень странное сообщение.
The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #38 :
Январь 05, 2012, 19:08 »
Цитата: andrew.k от Январь 05, 2012, 16:44
Цитата: antipart от Январь 05, 2012, 16:38
Цитировать
Модель тебе со всем этим поможет.
я очень давно пользуюсь разными моделями, но не было необходимости делать такие сложные таблицы...
поэтому не знаю как это можно реализовать в Model/View
Очень странное сообщение.
The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.
я имел в виду , что не знаю как делать в Model/View таблицы подобного рода (
с объединенными строками и столбцами
+ index.internalPointer() создавать на каждую ячеку свой т.к. мне нужна ссылка на структурный класс который отвечает за хранение
данных и работает с БД + после изменения например дежурного в лайнЕдите нужно загружать все его дежурства если они есть
и снова переиндексировать модель) но это ладно можно вообразить ... но 100 подобных таблиц в одной вьюхе мне представить сложно кроме как если 1 таблица соответствует одной строке...
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #39 :
Январь 05, 2012, 22:03 »
опытным путем установил, что дело не QScrollArea и QLayout
пробовал размещать 30 таблиц просто на виджете без лэйаута с использованием move(); друг под другом
даже если делать фиксированную высоту виджета родителя так чтобы видна была только одна таблица
все равно тормозит так как-будто пытается отобразить все таблицы, а не только видимую часть виджета с одной таблицей
если же всем таблицам кроме первой указать hide(); то виджет ведет себя так будто в нем живет только одна таблица, т.е
шустро.
С чем это связано? может надо использовать какие-то флаги\атрибуты для виджета родителя или наоборот что-то отключить?
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #40 :
Январь 05, 2012, 22:16 »
p.s.
можно даже взять ~3000-4000 обычных QPushButton и положить одна на другую без всяких move(); на одну из вкладок QTabWidget
и попереключаться между вкладками. Будет понятно о чем речь.
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #41 :
Январь 05, 2012, 23:19 »
Цитата: antipart от Январь 05, 2012, 22:16
p.s.
можно даже взять ~3000-4000 обычных QPushButton и положить одна на другую без всяких move(); на одну из вкладок QTabWidget
и попереключаться между вкладками. Будет понятно о чем речь.
О чем это говорит? О том, что не нужно создавать 3000-4000 виджетов!
Есть кто считает, что это нормально?
«
Последнее редактирование: Январь 05, 2012, 23:29 от andrew.k
»
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #42 :
Январь 05, 2012, 23:25 »
Цитата: antipart от Январь 05, 2012, 19:08
Цитата: andrew.k от Январь 05, 2012, 16:44
Цитата: antipart от Январь 05, 2012, 16:38
Цитировать
Модель тебе со всем этим поможет.
я очень давно пользуюсь разными моделями, но не было необходимости делать такие сложные таблицы...
поэтому не знаю как это можно реализовать в Model/View
Очень странное сообщение.
The QAbstractTableModel class provides an abstract model that can be subclassed to create table models.
я имел в виду , что не знаю как делать в Model/View таблицы подобного рода (
с объединенными строками и столбцами
+ index.internalPointer() создавать на каждую ячеку свой т.к. мне нужна ссылка на структурный класс который отвечает за хранение
данных и работает с БД + после изменения например дежурного в лайнЕдите нужно загружать все его дежурства если они есть
и снова переиндексировать модель) но это ладно можно вообразить ... но 100 подобных таблиц в одной вьюхе мне представить сложно кроме как если 1 таблица соответствует одной строке...
Мне кажется лучше разбираться с этим, чем плодить тыщи виджетов.
Интересный вопрос, что делать со
span
. Оказывается его можно задать только для view.
Было бы удобно из модели как-то управлять.
«
Последнее редактирование: Январь 05, 2012, 23:28 от andrew.k
»
Записан
andrew.k
Гость
Re: Размещение множества сложных виджетов
«
Ответ #43 :
Январь 05, 2012, 23:31 »
Вот и ответ тебе.
QSize QAbstractItemModel::span ( const QModelIndex & index ) const
Записан
antipart
Гость
Re: Размещение множества сложных виджетов
«
Ответ #44 :
Январь 06, 2012, 17:06 »
Цитата: andrew.k от Январь 05, 2012, 23:31
Вот и ответ тебе.
QSize QAbstractItemModel::span ( const QModelIndex & index ) const
спасибо за совет, покопаем сюда...
Записан
Страниц:
1
2
[
3
]
4
5
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...