![]() |
|
![]() ![]() ![]() |
|
asd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
Доброго времени суток. Подскажите, пожалуйста, как лучше решить такую задачу. Нужно сделать программу передач в таком виде
------------------------------------------------------------------------------------------------------------------------- |21:00 22:00 23:00 00:00 ------------------------------------------------------------------------------------------------------------------------- Chanel1 | pr1 | pr2 | ... | .... | ..... | ..... | ------------------------------------------------------------------------------------------------------------------------- Chanel2 | ....... | ........ | ..... | .... ------------------------------------------------------------------------------------------------------------------------- Chanel3 | .......... | ... | ... | ... | ... ------------------------------------------------------------------------------------------------------------------------- Chanel4 | ... | ... | ... | ... | ... ------------------------------------------------------------------------------------------------------------------------- Верхняя строка это время. следующие строки - это каналы. Первый столбец фиксированой ширины обозначает канал. За названием канала должен быть список передач. Размер элемента "передача" зависит от её длительности. Таблица должно скролиться как по вертикали - листаем каналы(строка времени должна быть видна постоянно), так и по горизонтали - по времени(названия каналов должно быть видно всегда). Нечто подобное уже реализовано? Если нет, то как лучше это реализовать по-вашему? |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
очень похож на QTableView. условие видимости хидеров таблицы, можно решить перегрузив методы QTableView::columnMoved() и QTableView::rowMoved()
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
по моему лучше взять QTableView и реализовать все что нужно. начал бы ковыряния от сюда Библиотеки, расширяющие Qt Добавлено через 3 минуты и 35 секунд
+
|
||||
|
|||||
asd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
Спасибо, за ответы. Начал смотреть в сторону QTableWidget т.к. элемент "программа" это не просто текст, а ещё и иконки, значки всякие, рейтинги. Набросал текстовый пример, не заморачиваясь пока с заголовками и столкнулся с непонятной мне проблемой.
К примеру создаём таблицу 100X100. При попытке показать/скрыть таблицу возникают существенные тормоза. В элементе "программа" переопределил paintEvent, вставил туда отладочный вывод. Как и ожидал paintEvent приходит только тем элементам, которые реально видимы. Вот и непонятно, почему тормозит. В чём причина этих тормозов? В аттаче - компилируемый пример. Это сообщение отредактировал(а) asd - 27.1.2010, 13:00 Присоединённый файл ( Кол-во скачиваний: 1 ) ![]() |
|||
|
||||
asd |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
Я уже совсем не понимаю, где косяк. Создаю QTableView и добавляю в него QLable
При попытке сделать
Возникают тормоза. В чём может быть проблема? Не может же быть, чтобы таблица несколько тысяч элементов не держала без тормозов. В аттаче компилируемый пример. Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
||||
|
|||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
asd, почитай про делегаты! все вопросы должны будут исчезнуть
Добавлено через 1 минуту и 16 секунд да и, смотря на твои примеры я понимаю что ты не в курсе для чего нужна модель - почитай и про модель еще Добавлено через 2 минуты и 4 секунды что не понятно, пиши |
|||
|
||||
asd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
На сколько понял, они нужны для редактирования данных. Мне же надо только выводить произвольные виджеты. Или я что-то недопонял? В делегате есть метод paint, но как отрисовать виджет _просто_ что-то не понял.
Угу, читаю уже со вчера ![]() |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
asd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 25.6.2006 Репутация: нет Всего: 1 |
Нет. QLabel это пример для максимального облегчения. Там минимум пара картинок и текст.
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
asd, так же советую поглядеть в %QT_DIR%\examples\itemviews\
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |