Как изменить высоту строк в 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 не расчитывала размер строки по нескольку раз.