2014-11-03 4 views
0

Я хочу, чтобы мой QListView не показывал горизонтальную панель scollbar. Все мои предметы имеют одинаковую высоту, поэтому я установил setUniformItemSizes(true); Теперь список, кажется, проверяет ширину первого элемента и изменяет размеры следующих элементов до максимума последнего и ширины QListView. Как я могу указать QListView, чтобы дать элементам только свою собственную ширину?QListview сила фиксированной ширины элемента, option.rect слишком большой

На самом деле я использую свой собственный QStyleItemDelegate и получил слишком большой QRect от option.rect. Но стандартный делегат показывает одно и то же поведение, поэтому я взял своего делегата, чтобы уменьшить количество проблемных источников.

Короткая иллюстрация проблемы: ширина

First элемента меньше, чем ширины ListView в: ширине enter image description here

первого пункта является больше шириной элемента управления ListView: enter image description here

ответ

0

Ответа является довольно просто: не разрешайте пробел.

setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 

Это исключает текст делегатом по умолчанию и сообщает надлежащее option.rect в вашем пользовательском делетете.