Название: Выравнивание QML содержимого в QWidget Отправлено: Norad от Январь 15, 2015, 09:56 Добрый день! Возможно ли сделать так, чтобы QML содержимое виджета центрировалось при растягивании окна программы? До этого делал и отображал только фиксированные значения. QML на виджете отображаю таким образом:
Код: view = new QQuickView; Для начала хотел отцентрировать левый верхний угол квадрата 50х50 по центру виджета, но не вышло - выдает следующую ошибку : Unable to assign QQuickAnchorLine to double :( Содержимое QML файла: Код: import QtQuick 2.0 Заранее спасибо за ответы! Название: Re: Выравнивание QML содержимого в QWidget Отправлено: arhohryakov от Январь 15, 2015, 11:52 Пишут почти по-русски: нельзя назначить один тип (QQuickAnchorLine ) другому (double).
x - double, par.verticalCenter - QQuickAnchorLine Нужно привязать якоря к якорям. Как-то так: Код: import QtQuick 2.0 Название: Re: Выравнивание QML содержимого в QWidget Отправлено: Norad от Январь 15, 2015, 13:07 Спасибо, это работает) Но вот ведь не задача - как сделать так, чтобы Item занимал все пространство виджета? Я думал anchors.fill: parent сработает, но нет, ведь Widget родительским объектом для Item не является. Похоже, что мне нужно считывать значения размера виджета и передавать их в QML. Может есть другие варианты?)
Название: Re: Выравнивание QML содержимого в QWidget Отправлено: RSATom от Январь 15, 2015, 13:31 Для решения проблемы нужно сделать 2 вещи:
1) Заставить QQuickView изменять размер в соответствии с размером окна на котором он лежит (например через layout'ы) 2) Выставить resizeMode в QQuickView::SizeRootObjectToView (http://doc.qt.io/qt-5/qquickview.html#resizeMode-prop) Название: Re: Выравнивание QML содержимого в QWidget Отправлено: RSATom от Январь 15, 2015, 13:34 ну и
Код стоит убрать |