Название: Qt 4.3.1 Высота строки в таблице Отправлено: Tonal от Октябрь 01, 2007, 13:26 Встала такая задачка - сделать все строки в таблице одинаковой высоты.
Причём в строку должно вмещаться 2 строки текста. Полазил по ассистенту - нашёл, что это можно сделать, выставив для вертикального QHeaderView resizeMode в QHeaderView::Fixed и задав подходящий defaultSectionSize в пикселах. Кто-нибудь знает как можно просто его рассчитать? Название: Re: Qt 4.3.1 Высота строки в таблице Отправлено: pastor от Октябрь 01, 2007, 13:50 Можно поиграться с QFontMetrics для определения области занимаемой текстом
Название: Re: Qt 4.3.1 Высота строки в таблице Отправлено: Aleksey_A от Октябрь 02, 2007, 10:12 Для выравнивания строк по высоте я использовал setRowHeight(row_num,TableRowHeight)
TableRowHeight=17; int i=0; while (!in.atEnd()) { tableWidget->setRowHeight(i,TableRowHeight); in >> SomeValue; QTableWidgetItem *Item = new QTableWidgetItem(tr("%1").arg(SomeValue)); Item->setTextAlignment(Qt::AlignVCenter); tableWidget->setItem(i,0,Item); i++; } а насчет 2 строк текста может быть попробовать установить свойство wordWrap=true, для автоматического переноса слов? Название: Re: Qt 4.3.1 Высота строки в таблице Отправлено: Tonal от Октябрь 02, 2007, 13:07 Сделал так:
Код: #python Единственный косяк в том, что при rowSize = 1 высота строки меньше высоты по умолчанию. Это из за того, что учитывается возможный размер чекбокса или иконки. Но это мне было воспроизводить лениво. 2Aleksey_A wordWrap=true делает строки разной высоты, что не устраивает заказчика. |