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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: horizontalHeader в QTableWidget  (Прочитано 11544 раз)
antipart
Гость
« : Октябрь 08, 2006, 14:29 »

Ребята  ,  подскажите , можно ли и как вставить, в horizontalHeader-Ы  таблицы,  заголовки в две строки (т.е. одну под другой)Непонимающий
Записан
Deiv
Гость
« Ответ #1 : Октябрь 10, 2006, 07:53 »

да, меня тоже это интересует
минимум чего бы хотелось
чтото типа
QTableView->Columns(0)->setheader(tr("1 строка<br>2 строка"))
по максимуму - SetWordWrap куданибудь передать
Записан
bigirbis
Гость
« Ответ #2 : Октябрь 10, 2006, 08:57 »

QStringList labels;
labels << "1st level\n2nd level";
setHorizontalHeaderLabels( labels );
Записан
Deiv
Гость
« Ответ #3 : Октябрь 10, 2006, 10:29 »

Блин
В ТейблВью этой штучки нету :-(
Записан
bigirbis
Гость
« Ответ #4 : Октябрь 10, 2006, 10:58 »

QSqlQueryModel::setHeaderData ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole ) ?
Записан
Deiv
Гость
« Ответ #5 : Октябрь 10, 2006, 12:16 »

Опа :-)
Этой штукой менял хидер, но сунуть туда стринглист даже мысли не возникло
Спасибо, что сняли с ручника
Записан
bigirbis
Гость
« Ответ #6 : Октябрь 10, 2006, 13:11 »

Вообще-то я имел в виду:
Код:
model->setHeaderData( 0, Qt::Horizontal, "1st level\n2nd level" );

СтрингЛист - незнаю. Вряд ли получится.
Либо
Код:

QStringList labels;
labels << "1st level" << "2nd level";
model->setHeaderData( 0, Qt::Horizontal, labels.join( "\n" ) );
Записан
Deiv
Гость
« Ответ #7 : Октябрь 10, 2006, 13:41 »

Там же qvariant требуется, а он включает в себя знание qstringlist
--
Да и попробовал я уже
Как в лучших домах :-)

а вот такой вариант - не работает точно
Код:

model->setHeaderData( 0, Qt::Horizontal, "1st level\n2nd level" );


PS: нагнал - работает
Записан
antipart
Гость
« Ответ #8 : Октябрь 11, 2006, 09:19 »

Спасибо большое - выручили!!!
Записан
bigirbis
Гость
« Ответ #9 : Октябрь 11, 2006, 11:32 »

Дело в том, что в QHeaderView информация отображается на QLabel и, соответственно, туда можно запихнуть любой RichText. QStringList - частный случай. ИМХО, если пихать RichText, то можно и табуляцию добавлять и центрирование и пр.
Записан
antipart
Гость
« Ответ #10 : Октябрь 11, 2006, 14:33 »

Да , только надо для всех столбцов указывать "\n", даже там где перенос
собственно,  не требуется (просто в конце строки).
Записан
bigirbis
Гость
« Ответ #11 : Октябрь 11, 2006, 15:07 »

Зачем? Неосилил. Расшифруй.
Записан
antipart
Гость
« Ответ #12 : Октябрь 11, 2006, 15:53 »

Цитировать
Да , только надо для всех столбцов указывать "\n", даже там где перенос
собственно, не требуется (просто в конце строки).


Сейчас еще раз проверил, все обстоит немного не так как писал ранее...

Если символ "\n"  не указать в первом столбце , а в других указывать , то хэдэры не растягиваются вниз и перенесенного слова,
соответственно, не видно...
...т.е получается , что обязательно в первом столбце нужен "\n" , тогда все хэдэры становятся двухстрочными...
Записан
bigirbis
Гость
« Ответ #13 : Октябрь 11, 2006, 15:59 »

Это в какой версии?
Записан
antipart
Гость
« Ответ #14 : Октябрь 11, 2006, 16:38 »

Qt.Commercial.v4.0.1.for.Visual.Studio.6.0

/// у меня уже начинает складываться не очень хорошее мнение об этой версии
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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