Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: soiam от Июль 17, 2012, 08:59



Название: [Решено]QListWidget не отображает весь текст в элементах списка
Отправлено: soiam от Июль 17, 2012, 08:59
Привет всем!
Только недавно заметил, что виджеты класса QListWidget обрезают содержимое своих элементов QListWidgetItem, если оно очень длинное(в конце ставят троеточие). Даже, если стоит wordWrap = true(в документации написано Please note that even if wrapping is enabled, the cell will not be expanded to make room for the text. It will print ellipsis for text that cannot be shown, according to the view's textElideMode.). Как это можно побороть, чтобы отображалось всё содержимое элементов, весь текст? У QTableWidget есть resizeRowsToContents. Уданного компонента ничего подобного не нашел.


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: QtCoder от Июль 17, 2012, 09:23
void   setTextElideMode ( Qt::TextElideMode mode )
textElideMode : Qt::TextElideMode
This property holds the position of the "..." in elided text.
The default value for all item views is Qt::ElideRight.

Qt::ElideNone   3   Ellipsis should NOT appear in the text.


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: soiam от Июль 17, 2012, 09:28
В этом случае просто убирается троеточие. Текст всё равно обрезается


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: andrew.k от Июль 17, 2012, 11:30
В этом случае просто убирается троеточие. Текст всё равно обрезается
Попробуй setElideMode(Qt::ElideNone) + setResizeMode(QListView::Adjust);
У меня была такая проблема и она решилась. Вроде так.


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: soiam от Июль 17, 2012, 12:09
Спасибо, проблема практически решилась. Единственно всплыла нежелательная особенность: если слово на последней строке элемента QListWidgetItem немного вылазит за ширину QListWidget, оно не переносится, а эти символы не видны(1 ый элемент списка, не полностью видно слово "шторами")
(http://dl.dropbox.com/u/8078143/listwidget.png)


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: andrew.k от Июль 17, 2012, 14:09
добавь пару пробелов в конце.


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: lighting от Июль 17, 2012, 14:42
andrew.k ко всем итемам QListWidget?


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: andrew.k от Июль 17, 2012, 15:21
andrew.k ко всем итемам QListWidget?
ну а как же.
ты же не можешь программно определить где будет глюк, а где нет.
Можешь еще при помощи стилей правую границу немного подвинуть.


Название: Re: QListWidget не отображает весь текст в элементах списка
Отправлено: soiam от Июль 18, 2012, 09:17
andrew.k, спасибо. Решено. Добавил "\n"