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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как изменить высоту строк в QListView?  (Прочитано 5433 раз)
Hordi
Гость
« : Май 23, 2006, 18:07 »

Есть ли способ решения проблемы кроме как через увеличение фонта?
Записан
BaltikS
Гость
« Ответ #1 : Май 23, 2006, 19:34 »

В 3 я изменял, в 4-м ещё не приходилось
Записан
nEoN
Гость
« Ответ #2 : Май 23, 2006, 21:22 »

Цитата: "Hordi"
Как изменить высоту строк в QListView?
Есть ли способ решения проблемы кроме как через увеличение фонта?

В Qt4 это делается через переопределение метода sizeHint у делегата представления.
Вот пример :
Код:
class MyItemDelegate: public QItemDelegate
{
public:
MyItemDelegate(QObject * parent) : QItemDelegate(parent) {}

QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex & index) const
{
QSize newSize = QItemDelegate::sizeHint(option, index);
newSize.setHeight(30); // Устанавливаем любую высоту строки, например 30
return newSize;
}
};

....
// Присваиваем QListView новый делегат
listView->setItemDelegate(new MyItemDelegate(this));
...

И если необходимо, чтобы все строки были одинакового размера, то ещё не помешает установить listView->setUniformItemSizes(true), чтобы Qt не расчитывала размер строки по нескольку раз.
Записан
Hordi
Гость
« Ответ #3 : Май 23, 2006, 21:52 »

У меня Qt-3.

Переопределил у QListViewItem setHeight(int) - проблему решил, хотя коряво это в общем-то...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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