Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: troorl от Июнь 16, 2007, 22:49



Название: QListWidget и минимальный размер
Отправлено: troorl от Июнь 16, 2007, 22:49
Мне нужно сделать нечто вроде диалога настроек, где слева в QListWidget сверху вниз располагаются значки с подписями в соответствии с разделами. Мне нужно, чтобы этот список всегда принимал минимальную ширину, так, чтобы в нём помещались все значки и в то же время, чтобы не было пустого места. Как этого можно добиться?


Название: QListWidget и минимальный размер
Отправлено: Racheengel от Июнь 16, 2007, 23:02
установить политику размера fixed


Название: QListWidget и минимальный размер
Отправлено: troorl от Июнь 16, 2007, 23:32
Цитата: "Racheengel"
установить политику размера fixed

Установил, но размер по ширине всё-равно в два раза больше, чем надо. Может оно предполагает, что колонок две штуки? Как установить явно, что колонка должна быть одна? В Assistant не нашёл


Название: QListWidget и минимальный размер
Отправлено: Racheengel от Июнь 17, 2007, 08:56
Ширина итемов будет постоянная? если да, то просто подбери нужный размер и установи minimumSize и maximumSize для виджета одинаковыми и политику fixed. Должно работать.


Название: QListWidget и минимальный размер
Отправлено: troorl от Июнь 17, 2007, 14:38
Цитата: "Racheengel"
Ширина итемов будет постоянная? если да, то просто подбери нужный размер и установи minimumSize и maximumSize для виджета одинаковыми и политику fixed. Должно работать.

Ширина итемов зависит от выбранного языка приложения и от шрифта, используемого в системе. Я не могу подобрать так, чтобы при любых условиях оно выглядело нормально.
Есть ещё идеи?


Название: QListWidget и минимальный размер
Отправлено: J. Bond от Июнь 18, 2007, 08:36
Если можешь, то используй QTreeWidget  или QTableWidget у них есть замечательная функция resizeColumnToContent()


Название: Re: QListWidget и минимальный размер
Отправлено: vregess от Июнь 18, 2007, 10:54
Цитата: "troorl"
Мне нужно сделать нечто вроде диалога настроек, где слева в QListWidget сверху вниз располагаются значки с подписями в соответствии с разделами. Мне нужно, чтобы этот список всегда принимал минимальную ширину, так, чтобы в нём помещались все значки и в то же время, чтобы не было пустого места. Как этого можно добиться?


setFixedWidth(int);


Название: QListWidget и минимальный размер
Отправлено: troorl от Июнь 18, 2007, 16:12
Цитата: "J. Bond"
Если можешь, то используй QTreeWidget  или QTableWidget у них есть замечательная функция resizeColumnToContent()

Мне не очень подходят эти виджеты :(
Цитировать
setFixedWidth(int)

А если внимательно прочитать тему?

Я вот тут подумал, может вручную его ресайзить? Только как узнать размера каждого QListWidgetItem?

добавлено спустя 1 час 57 минут:

 Отца русской демократии спас метод visualItemRect. Какой бы элемент из списка не взял - возвращается значение самого крупного итема. Дальше плюсуем spacing и получаем необходимую ширину. :)


Название: Re: QListWidget и минимальный размер
Отправлено: Sokoloff от Ноябрь 08, 2009, 20:20
Продолжение разговора и пример кода в http://www.prog.org.ru/topic_11214_0.html