Название: Расположение одного виджета в центре другого Отправлено: Vladimir от Ноябрь 28, 2012, 22:41 Доброго вечера! Вопрос как разместить белый квадрат (QGraphicsView) по центру синего виджета, при этом белый квадрат всегда должен оставаться квадратом, размер которого должен меняться в зависимости от разрешения экрана! Основной класс - это QMainWindow, на котором размещены виджеты, созданные и скомпонованные в дизайнере!
Название: Re: Расположение одного виджета в центре другого Отправлено: Bepec от Ноябрь 28, 2012, 23:06 Берём уравнения для третьего класса школы :)
Высчитываем центр и фигачим его туда. А пропорциональные размеры высчитываются по другим формулам уже пятого класса :) PS есть путь и через дизайнер :D Название: Re: Расположение одного виджета в центре другого Отправлено: Vladimir от Ноябрь 28, 2012, 23:23 Берём уравнения для третьего класса школы :) Высчитываем центр и фигачим его туда. А пропорциональные размеры высчитываются по другим формулам уже пятого класса :) PS есть путь и через дизайнер :D насколько я помню 3й класс, чтобы найти центр, надо знать размеры, в моем случае, синего прямоугольника! а его реальные размеры я узнаю после функции show(), когда уже все свершилось. Если узнать размеры до show(), то выводятся минимальные размеры, установленные в дизайнере! может я что-то не так делаю) а как через дизайнер, подскажите пожалуйста?)) в зависимости от разрешения, размеры синего прямоугольника меняются! Название: Re: Расположение одного виджета в центре другого Отправлено: GreatSnake от Ноябрь 29, 2012, 07:26 если не поможет
Код перегрузи Код или Код
Название: Re: Расположение одного виджета в центре дру& Отправлено: _OLEGator_ от Ноябрь 29, 2012, 09:06 Добавляешь в Q*Layout (установлен на синий виджет) свой белый виджет.
Указываешь максимальные (или фиксированные) размеры для белого виджета, чтобы он ре растягивался больше необходимого. Используешь Код для установки выравнивания виджета. PROFIT Название: Re: Расположение одного виджета в центре другого Отправлено: Kurles от Ноябрь 29, 2012, 12:07 Через void QObject::installEventFilter ( QObject * filterObj ) на синий виджет и фильтрацию QEvent::Resize не вариант?
|