Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: antipart от Октябрь 08, 2006, 14:29



Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 08, 2006, 14:29
Ребята  ,  подскажите , можно ли и как вставить, в horizontalHeader-Ы  таблицы,  заголовки в две строки (т.е. одну под другой)???


Название: horizontalHeader в QTableWidget
Отправлено: Deiv от Октябрь 10, 2006, 07:53
да, меня тоже это интересует
минимум чего бы хотелось
чтото типа
QTableView->Columns(0)->setheader(tr("1 строка<br>2 строка"))
по максимуму - SetWordWrap куданибудь передать


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 10, 2006, 08:57
QStringList labels;
labels << "1st level\n2nd level";
setHorizontalHeaderLabels( labels );


Название: horizontalHeader в QTableWidget
Отправлено: Deiv от Октябрь 10, 2006, 10:29
Блин
В ТейблВью этой штучки нету :-(


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 10, 2006, 10:58
QSqlQueryModel::setHeaderData ( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole ) ?


Название: horizontalHeader в QTableWidget
Отправлено: Deiv от Октябрь 10, 2006, 12:16
Опа :-)
Этой штукой менял хидер, но сунуть туда стринглист даже мысли не возникло
Спасибо, что сняли с ручника


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 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" ) );


Название: horizontalHeader в QTableWidget
Отправлено: Deiv от Октябрь 10, 2006, 13:41
Там же qvariant требуется, а он включает в себя знание qstringlist
--
Да и попробовал я уже
Как в лучших домах :-)

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

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


PS: нагнал - работает


Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 11, 2006, 09:19
Спасибо большое - выручили!!!


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 11, 2006, 11:32
Дело в том, что в QHeaderView информация отображается на QLabel и, соответственно, туда можно запихнуть любой RichText. QStringList - частный случай. ИМХО, если пихать RichText, то можно и табуляцию добавлять и центрирование и пр.


Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 11, 2006, 14:33
Да , только надо для всех столбцов указывать "\n", даже там где перенос
собственно,  не требуется (просто в конце строки).


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 11, 2006, 15:07
Зачем? Неосилил. Расшифруй.


Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 11, 2006, 15:53
Цитировать
Да , только надо для всех столбцов указывать "\n", даже там где перенос
собственно, не требуется (просто в конце строки).


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

Если символ "\n"  не указать в первом столбце , а в других указывать , то хэдэры не растягиваются вниз и перенесенного слова,
соответственно, не видно...
...т.е получается , что обязательно в первом столбце нужен "\n" , тогда все хэдэры становятся двухстрочными...


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 11, 2006, 15:59
Это в какой версии?


Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 11, 2006, 16:38
Qt.Commercial.v4.0.1.for.Visual.Studio.6.0

/// у меня уже начинает складываться не очень хорошее мнение об этой версии


Название: horizontalHeader в QTableWidget
Отправлено: bigirbis от Октябрь 11, 2006, 17:48
Влом тестовый проект писать. Думаю тебе лучше проверить на другой версии...


Название: horizontalHeader в QTableWidget
Отправлено: antipart от Октябрь 11, 2006, 19:25
Да и на  том спасибо, я думаю  это не большая проблема, тем более
что мне все столбцы надо править в двухэтажные....
 а вот насчет версии QT я серьезно задумался....