Название: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Joss от Май 19, 2010, 02:12 Я голову уже сломал,
делаю форму в дизайнере, добавляю туда Tool Box и начинаю в нем по вертикали добавлять кнопки. Ставлю по вертикали SizePolicy: MinimumExpanding. Все вроде хорошо, при ресайзе окна, оно ресайзится до тех пор, пока все кнопки могут быть отображены на экране. Начинаю добавлять кнопки и в какой-то момент в Tool Box при ресайзе появляется вертикальная прокрутка. Как от нее избавиться? Поместил иллюстрацию и ui. Подскажите пожалуйста, буду очень признателен, спасибо! Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: crossly от Май 19, 2010, 08:56 Код: void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy ) Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: alexman от Май 19, 2010, 14:13 Код: void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy ) Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Joss от Май 19, 2010, 14:30 : Откуда и для чего вызывать?
Да, и мне хотелось бы понять. Яснее, на всякий случай, сформулирую проблему - при ресайзе окна я хотел бы, чтобы оно не ресайзилось в сторону уменьшения дальше той границы, за которой возникает необходимость в скрулинге содержимого Tool Box. Вообще мне непонятно, почему при каком-то количестве баттонов на тулбоксе прокрутки не возникает, а в какой-то момент, после добавления еще нескольких баттонов, они начинаются скрулится при ресайзе. Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: crossly от Май 19, 2010, 14:53 действительно не к чему.... никак.... :)
Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Joss от Май 19, 2010, 15:21 действительно не к чему.... никак.... :) А можно поподробнее, если не сложно? setVerticalScrollBarPolicy это метод QAbstractScrollArea и как его использовать в QToolBox? Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: alexman от Май 19, 2010, 15:34 действительно не к чему.... никак.... :) А можно поподробнее, если не сложно? setVerticalScrollBarPolicy это метод QAbstractScrollArea и как его использовать в QToolBox? Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: crossly от Май 19, 2010, 15:41 можно получить доступ к виджету в scrollarea но нельзя получить доступ к самой области прокрутки....
Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Joss от Май 19, 2010, 17:09 Господа,
ну видимо я туплю, объясните пожалуйста: 1) насколько я понимаю, отключение скрула ничего не даст, просто часть элементов внутри тулбокса будут перекрываться при резайзе. Т.е. цель именно в том, чтобы не дать окну ресайзится в сторону уменьшения свыше определенной границы. Я понимаю, что можно тупо прописать минимальную высоту окна, но как-то это глупо. 2) Почему не отрабатывает MinimumExpanding? Т.е. это срабатывает до какого-то момента, например, если оставить 10 кнопок внутри тулбокса, все отлично ресайз происходит именно до момента когда все компоненты тулбокса еще помещаются в окне, но стоит добавить еще одну кнопку - все, поплыли, получаем скрулинг при ресайзе окна. Мне, как новичку, казалось, что менеджеры компоновки должны на основе размеров элементов (кнопок) определять требуемый SizeHint, который и будет учитываться одновременно со свойством MinimumExpanding. И почему это срабатывает с 10 кнопками и уже не срабатывает с 11 и более? Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Dragon от Май 24, 2010, 09:30 Если я правильно понял... то отключи возможность менять длину окна. Установи фиксированный размер :)
Название: Re: Избавиться от вертикальной прокрутки в QToolBox Отправлено: Joss от Май 24, 2010, 10:48 Если я правильно понял... то отключи возможность менять длину окна. Установи фиксированный размер :) Правильно, но это тупиковое решение, тем более, что будет на других платформах, с другим размером шрифтов, с другим разрешением? |