Название: QListWidget padding Отправлено: romanick от Март 30, 2013, 08:33 Добрый день!
Как сделать padding у QListWidget? Код: QListWidget* cw; Мне просто нужно сделать чтобы слева от списка элементов было побольше места. В гугле, в том числе англоязычном, куча подобных вопросов без ответа... Название: Re: QListWidget padding Отправлено: Bepec от Март 30, 2013, 10:13 Тебе нужно добавить ::Item. Как то так.
Ведь на деле наверно тебе нужен padding элементов. PS хотя как знать. Название: Re: QListWidget padding Отправлено: twp от Март 30, 2013, 19:19 скорее всего не получится сделать такое через qss поскольку "модель коробки" работает для самого QListWidget, а отступ нужно сделать в его вьюпорте. По идее тебе нужно это
Код Пример использования с отрисовкой в этом отступе можно найти в QTDIR\examples\widgets\codeeditor\ Название: Re: QListWidget padding Отправлено: Kolobok от Март 30, 2013, 19:29 Возьми QTreeWidget. Там есть отступ.
Название: Re: QListWidget padding Отправлено: romanick от Март 30, 2013, 22:05 Придумал вот такое решение:
ObjectItemDelegate - наследник от QStyledItemDelegate. void ObjectItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyleOptionViewItem o = option; o.rect.setLeft(o.rect.left()+20); QStyledItemDelegate::paint(painter, o, index); } Несколько криво, но мне подходит. Название: Re: QListWidget padding Отправлено: romanick от Март 30, 2013, 22:20 скорее всего не получится сделать такое через qss поскольку "модель коробки" работает для самого QListWidget, а отступ нужно сделать в его вьюпорте. По идее тебе нужно это Код Пример использования с отрисовкой в этом отступе можно найти в QTDIR\examples\widgets\codeeditor\ Код: void ContentWidget::setViewportMargins(int left, int top, int right, int bottom) Название: Re: QListWidget padding Отправлено: Bepec от Март 31, 2013, 10:20 Нарисуй-ка ты то, чего хочешь. А я, когда пойму, постараюсь тебе помочь.
Название: Re: QListWidget padding Отправлено: romanick от Март 31, 2013, 12:50 Нарисуй-ка ты то, чего хочешь. А я, когда пойму, постараюсь тебе помочь. Нарисовал. Я хочу расширить с помощью css или как-то ещё область отмеченную красными стрелками. Чтобы, например, было удобнее выделять элементы прямоугольником, начиная от области слева от них. Решение в три строчки вообще-то я придумал (см. выше), но оно кривовато по субъективным ощущениям. |