crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Гость_Alexey_*
сообщение 2.2.2008, 20:31
Сообщение #1





Гости








    


Здраствуйте !!!
Дурацкий вопрос, запутался и не могу решить
В qt (4.3.3) приложении создаю таблицу

Представление — QTreeView
Модель — QAbstractItemModel

каким образом изменить высату ячеик в таблице, или указать минимальный размер ячейки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.2.2008, 21:05
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


наспех посмотрел, есть такое свойство:
uniformRowHeights : bool - делать ли все строки одинаковой высоты,
стало быть высота строк зависит от содержимого, его размер и надо задавать, Я так думаю (к/ф "Мимино")
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Alexey_*
сообщение 2.2.2008, 23:56
Сообщение #3





Гости








    


А каким образм можно указать что бы высота ячеик была больше чем заданая ?...
и существуют ли какиенибуть стандартные средства ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 3.2.2008, 11:44
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Для изменения высоты ячейки кажется используется: void QTreeWidgetItem::setSizeHint ( int column, const QSize & size )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.2.2008, 12:01
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у QTreeView, такой метод не числится. Я думаю надо задавать именно высоту содержимого ячейки, если это текст, то высоту текста, если это иконка то будет определятся высотой иконки, и т.д.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 3.2.2008, 18:40
Сообщение #6





Гости








    


Цитата(Litkevich Yuriy @ 3.2.2008, 12:01) *
у QTreeView, такой метод не числится. Я думаю надо задавать именно высоту содержимого ячейки, если это текст, то высоту текста, если это иконка то будет определятся высотой иконки, и т.д.


Да пришлось переопределять Qt::SizeHintRole в модели данных


CODE
QVariant myModel::data(const QModelIndex& index, int intRole) const
{
if (!index.isValid()) return QVariant() ;
switch (intRole)
{
...
case Qt::SizeHintRole:
{
QSize defSize ;
defSize.setHeight(17);
return defSize ;
}
break ;

}
return QVariant()
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Flex Ferrum
  опции профиля:
сообщение 6.2.2008, 2:13
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 26.11.2007
Пользователь №: 26

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Guest_Гость_* @ 3.2.2008, 18:40) *
Да пришлось переопределять Qt::SizeHintRole в модели данных

Это, кстати, не всегда помогает. Гарантированный вариант - у экземпляра QTableView взять указатель на Vertical Header (метод verticalHeader()), и установить ему нужное значение высоты строк с помощью методов setMinimumSectionSize и setDefaultSectionSize.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sergey B.
  опции профиля:
сообщение 12.2.2008, 14:02
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 12.2.2008
Пользователь №: 92

Спасибо сказали: 1 раз(а)




Репутация:   0  


Вот так по содержанию:
tableView->resizeColumnsToContents();
tableView->resizeRowsToContents();


Hint:
Цитата
Размер в пикселях лучше не задавать, т.к. вдруг будет большой шрифт или "многа букав", текст может перекрываться границами ячейки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.2.2008, 16:25
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Sergey B. @ 12.2.2008, 17:02) *
tableView->resizeRowsToContents();


Человек говорит о QTreeView, а у него нет такого метода.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sergey B.
  опции профиля:
сообщение 12.2.2008, 17:30
Сообщение #10


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 12.2.2008
Пользователь №: 92

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 12.2.2008, 16:25) *
Цитата(Sergey B. @ 12.2.2008, 17:02) *
tableView->resizeRowsToContents();


Человек говорит о QTreeView, а у него нет такого метода.




Глянул на этот пост.
Давал ответ на него.

Сообщение отредактировал Sergey B. - 12.2.2008, 17:32
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 16.7.2025, 10:06