Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: daimon от Декабрь 22, 2010, 00:34



Название: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: daimon от Декабрь 22, 2010, 00:34
Есть ли какая-то реализация изменения размера окна при этом не видеть изменение содержимого окна, а только рамку; после отпускания мыши виджет принимает размер рамки


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: kibsoft от Декабрь 22, 2010, 00:55
Не совсем понял вопрос, но может установить sizePolicy у виджета в Fixed?


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: daimon от Декабрь 22, 2010, 00:58
Не совсем понял вопрос, но может установить sizePolicy у виджета в Fixed?
при сложном контенте окно дёргается при ресайзе - хочу рамку вместо отображения изменения размера экрана, при отпускании мыши окно принимает размер рамки


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: ufna от Декабрь 22, 2010, 01:22
RubberBand техника, нужно делать самому наверное (не знаю есть ли встроеннео в Qt)


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: daimon от Декабрь 22, 2010, 01:28
RubberBand техника, нужно делать самому наверное (не знаю есть ли встроеннео в Qt)
he QRubberBand class provides a rectangle or line that can indicate a selection or a boundary. More...
класс та есть, но нельзя рисовать за рамками окна


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: Alex Custov от Декабрь 22, 2010, 03:27
рамка не управляется Qt. Если хочешь именно такое поведение, придётся писать своё оконное оформление, и естественно оно не будет вписываться в текущее системное.


Название: Re: Resize Widget - видет рамку, а не изменение содержимого окна
Отправлено: ufna от Декабрь 22, 2010, 03:44
Ну да, в самом простом варианте - создается виджет-нивидимка (условно конечно), который встает по рамке окна и ловит события мыши, а само окно ресайзиться напрямую юзером не может. "Нивидимка" при нажатии становится этой рамкой, и усе.