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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Опять многосточные QHeaderView...  (Прочитано 37052 раз)
v6y
Гость
« Ответ #30 : Июнь 04, 2010, 16:58 »

а что делает код:
  if (spans) {
    QRect newrect;
    setRect(event->rect(),newrect);
    if (event->rect()!=newrect)  setDirtyRegion(newrect); //adjust rect for spanned headers
  }

из HMultiHeader::paintEvent ?

если его убрать то с ЦПУ все ОК...

Ну я же говорю - Вы используете старую версию.  Загрузите на второй странице вложение из второго сообщения
Записан
mkv
Гость
« Ответ #31 : Июнь 04, 2010, 17:00 »

тьфу блин! точно не последняя версия.... пардон!
Записан
mkv
Гость
« Ответ #32 : Июнь 04, 2010, 17:02 »

теперь хорошо работает Улыбающийся
Записан
v6y
Гость
« Ответ #33 : Июнь 04, 2010, 17:04 »

теперь хорошо работает Улыбающийся

Ну и слава Богу  Улыбающийся
Записан
SibViking
Гость
« Ответ #34 : Июнь 06, 2010, 04:10 »

В смысле?


Под QTableView, а в создаваемой пользовательской модели формировать заголовок, я просто одну версию многострочного заголовка использую для своего велосипеда http://www.prog.org.ru/index.php?topic=13717.msg89282#msg89282 - но что то у меня с ним глюки определенного рода появляются, хотелось бы и что то другое подобное попробовать
« Последнее редактирование: Июнь 06, 2010, 04:25 от SibViking » Записан
v6y
Гость
« Ответ #35 : Июнь 06, 2010, 09:06 »

В смысле?


Под QTableView, а в создаваемой пользовательской модели формировать заголовок, я просто одну версию многострочного заголовка использую для своего велосипеда http://www.prog.org.ru/index.php?topic=13717.msg89282#msg89282 - но что то у меня с ним глюки определенного рода появляются, хотелось бы и что то другое подобное попробовать

Я возможно Вас не совсем правильно  понял, но в реальной жизни HMultiHeader используется как раз с QTableView и изначально  проектировался  независимым от моделей.  Делается model->setHeaderData, затем указывается как и какие столбцы объединять с помощью метода HMultiHeader::spanCols. Правда есть одно ограничение - вначале  указывается самый верхний уровень объединенных ячеек: spanCols(Text,0,5); spanCols(0,2) - сработает, spanCols(0,2); spanCols(0,5) - не сработает.

В выложенном примере QTableWidget используется только для простоты. QTableWidget::setHorizontalHeaderItem используется из-за особенностей QTableWidget. Хранить информацию об объединенных  ячейках в модели не хочу принципиально, так как в этом случае HMultiHeader будет пригоден только для определенного типа моделей.
Записан
ragzovskii
Гость
« Ответ #36 : Июнь 06, 2010, 11:10 »

А можно про "не сработает" поподробнее, а то у меня как раз какой-то загадочный баг Улыбающийся
Рисую такой хедер, а spanCols(str,0,8) не срабатывает почему-то и получается ерунда.

P.S. Спасибо за виджет, он очень помог Улыбающийся
« Последнее редактирование: Июнь 06, 2010, 11:15 от ragzovskii » Записан
v6y
Гость
« Ответ #37 : Июнь 06, 2010, 11:25 »

А можно про "не сработает" поподробнее, а то у меня как раз какой-то загадочный баг Улыбающийся
Рисую такой хедер, а spanCols(str,0,8) не срабатывает почему-то и получается ерунда.

После spanCols(0,8) ,  должно быть
 spanCols(0,2);spanCols(3,5);spanCols(6,8);

Ну а лучше покажите что делали и что хотели сделать.
Записан
ragzovskii
Гость
« Ответ #38 : Июнь 06, 2010, 11:29 »

я делаю иначе.
сначала разбиваю хедер на крупные заголовки: spanCols(0,8), spanCols(9,17), spanCols(18,26), потом разбиваю его на более мелкие: spanCols(0,2), spanCols(3,5),.. и так далее.
Записан
v6y
Гость
« Ответ #39 : Июнь 06, 2010, 11:32 »

я делаю иначе.
сначала разбиваю хедер на крупные заголовки: spanCols(0,8), spanCols(9,17), spanCols(18,26), потом разбиваю его на более мелкие: spanCols(0,2), spanCols(3,5),.. и так далее.

В принципе правильно делаете. Соответствующий участок кода можете показать?
Записан
ragzovskii
Гость
« Ответ #40 : Июнь 06, 2010, 11:36 »

Вот: http://pastebin.com/ZtqviCCz. не обращайте внимания на стиль кода, он проходил полуторадневный дебаг Улыбающийся
FieldList это элемент двусвязного списка, в котором в QStringList хранятся названия.
Записан
v6y
Гость
« Ответ #41 : Июнь 06, 2010, 11:42 »

Вот: http://pastebin.com/ZtqviCCz. не обращайте внимания на стиль кода, он проходил полуторадневный дебаг Улыбающийся
FieldList это элемент двусвязного списка, в котором в QStringList хранятся названия.


А в "лоб"  все это делать пробовали?
Записан
ragzovskii
Гость
« Ответ #42 : Июнь 06, 2010, 12:13 »

Сейчас попробовал: http://pastebin.com/Mv80gPxF
output: Fail! start 0 stop 8



Записан
v6y
Гость
« Ответ #43 : Июнь 06, 2010, 12:28 »

Сейчас попробовал: http://pastebin.com/Mv80gPxF
output: Fail! start 0 stop 8

Странно, у меня все ОК.

Весь код можете выложить?
« Последнее редактирование: Июнь 06, 2010, 12:30 от v6y » Записан
ragzovskii
Гость
« Ответ #44 : Июнь 06, 2010, 12:29 »

Магия! можете кинуть код целиком?
ну еще может быть у нас версии HMultiHeader разные.
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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