Название: Размер ячеек QTableView (РЕШЕНО) Отправлено: Day от Март 12, 2018, 21:58 Новая проблема. Никак не могу установить размер ячеек QTableView
Tv->setColumnWidth() и Tv->setRowHeight() не работают. Пытался сделать через модельную headerData (роль Qt::SizeHintRole) - тоже не получается. Мне нужна фиксированная ширина каждой колонки и одна на всех высота строк. Все! И больше ничего. Для QTableWidget это - один плевок. А с View вот уже 2 дня ничего не могу найти. Хотя методы Tv->setColumnWidth() и Tv->setRowHeight() принадлежат именно QTableView. horizontalHeader()->setResizeMode(col, QHeaderView::Fixed); - тоже не помогает setSectionResizeMode просто нет. Qt 4.5.2 Название: Re: Размер ячеек QTableVitv Отправлено: Old от Март 12, 2018, 22:34 Смотрите в модели. :)
Название: Re: Размер ячеек QTableVitv Отправлено: Day от Март 12, 2018, 22:42 Old, дорогой! Подскажите, куда смотреть. Я ведь уже пытался в headerData влезть. Ноль эффекта. Уж весь Гугель перелопатил и исходники ковырял! Рву последние волосы на лысине и собираюсь уходить в запой.:)
Название: Re: Размер ячеек QTableVitv Отправлено: PimenS от Март 14, 2018, 01:14 Если не используется resizeColumnsToContents(), то вполне хватает QTableView::setColumnWidth(int column, int width).
Высоту строк делаю так: verticalHeader()->setDefaultSectionSize(int size) Название: Re: Размер ячеек QTableVitv Отправлено: Day от Март 14, 2018, 11:23 PimenS, Огромное спасибо!
verticalHeader()->setDefaultSectionSize(int size) заработало! Пол-проблемы решено! А вот setColumnWidth никак не хочет. Я, собственно, с него и начинал. Может быть что-то делаю не в той последовательности... Есть одно подозрение... Название: Re: Размер ячеек QTableVitv Отправлено: Day от Март 14, 2018, 12:57 Уффф! Действительно. К моменту setColumnWidth еще не была привязана модель. И никто не знал количества колонок. Посему метод просто не работал.
Всем спасибо за участие и извинения за мою собственную глупость Название: Re: Размер ячеек QTableView (РЕШЕНО) Отправлено: Day от Март 19, 2018, 15:15 Уточню на всякий случай.
Tv->setColumnWidth(col, w); и Tv->verticalHeader()->setDefaultSectionSize(h); Прекрасно работают! Просто нужно чтобы а) Модель была создана и привязана ДО вызова этих методов. б) И возвращала правильный columnCount() Версия Qt 4.5.2 Все мои муки были из-за неправильной последовательности. :) |