Russian Qt Forum
Ноябрь 27, 2024, 09:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Избавиться от вертикальной прокрутки в QToolBox  (Прочитано 5262 раз)
Joss
Гость
« : Май 19, 2010, 02:12 »

Я голову уже сломал,
делаю форму в дизайнере, добавляю туда Tool Box и начинаю в нем по вертикали добавлять кнопки. Ставлю по вертикали SizePolicy: MinimumExpanding. Все вроде хорошо, при ресайзе окна, оно ресайзится до тех пор, пока все кнопки могут быть отображены на экране.

Начинаю добавлять кнопки и в какой-то момент в Tool Box при ресайзе появляется вертикальная прокрутка. Как от нее избавиться?

Поместил иллюстрацию и ui.
Подскажите пожалуйста, буду очень признателен, спасибо!

Записан
crossly
Гость
« Ответ #1 : Май 19, 2010, 08:56 »

Код:
void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy )
Записан
alexman
Гость
« Ответ #2 : Май 19, 2010, 14:13 »

Код:
void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy )
Откуда и для чего вызывать?
Записан
Joss
Гость
« Ответ #3 : Май 19, 2010, 14:30 »

: Откуда и для чего вызывать?

Да, и мне хотелось бы понять.
Яснее, на всякий случай, сформулирую проблему - при ресайзе окна я хотел бы, чтобы оно не ресайзилось в сторону уменьшения дальше той границы, за которой возникает необходимость в скрулинге содержимого Tool Box.

Вообще мне непонятно, почему при каком-то количестве баттонов на тулбоксе прокрутки не возникает, а в какой-то момент, после добавления еще нескольких баттонов, они начинаются скрулится при ресайзе.
Записан
crossly
Гость
« Ответ #4 : Май 19, 2010, 14:53 »

действительно не к чему.... никак.... Улыбающийся
Записан
Joss
Гость
« Ответ #5 : Май 19, 2010, 15:21 »

действительно не к чему.... никак.... Улыбающийся

А можно поподробнее, если не сложно?
setVerticalScrollBarPolicy это метод QAbstractScrollArea и как его использовать в QToolBox?
Записан
alexman
Гость
« Ответ #6 : Май 19, 2010, 15:34 »

действительно не к чему.... никак.... Улыбающийся

А можно поподробнее, если не сложно?
setVerticalScrollBarPolicy это метод QAbstractScrollArea и как его использовать в QToolBox?
никак
Записан
crossly
Гость
« Ответ #7 : Май 19, 2010, 15:41 »

можно получить доступ к виджету в scrollarea но нельзя получить доступ к самой области прокрутки....
Записан
Joss
Гость
« Ответ #8 : Май 19, 2010, 17:09 »

Господа,
ну видимо я туплю, объясните пожалуйста:

1) насколько я понимаю, отключение скрула ничего не даст, просто часть элементов внутри тулбокса будут перекрываться при резайзе. Т.е. цель именно в том, чтобы не дать окну ресайзится в сторону уменьшения свыше определенной границы. Я понимаю, что можно тупо прописать минимальную высоту окна, но как-то это глупо.
2) Почему не отрабатывает MinimumExpanding? Т.е. это срабатывает до какого-то момента, например, если оставить 10 кнопок внутри тулбокса, все отлично ресайз происходит именно до момента когда все компоненты тулбокса еще помещаются в окне, но стоит добавить еще одну кнопку - все, поплыли, получаем скрулинг при ресайзе окна.

Мне, как новичку, казалось, что менеджеры компоновки должны на основе размеров элементов (кнопок) определять требуемый SizeHint, который и будет учитываться одновременно со свойством MinimumExpanding. И почему это срабатывает с 10 кнопками и уже не срабатывает с 11 и более?
Записан
Dragon
Гость
« Ответ #9 : Май 24, 2010, 09:30 »

Если я правильно понял... то отключи возможность менять длину окна. Установи фиксированный размер Улыбающийся
Записан
Joss
Гость
« Ответ #10 : Май 24, 2010, 10:48 »

Если я правильно понял... то отключи возможность менять длину окна. Установи фиксированный размер Улыбающийся

Правильно, но это тупиковое решение, тем более, что будет на других платформах, с другим размером шрифтов, с другим разрешением?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 21.