LINUX.ORG.RU

QML, есть кактусоеды?


0

0

Собственно изучаю сие творение и пока не очень понимаю, каким образом оно работает с обычными Qtшными объектами Грубо говоря такой код работает

context.setContextProperty(«MyObject»,my_object);
my_object->setText(«test»);

Где
Text {
id: body
text: MyObject.text
}

А вот создал событие по таймеру, и там уже
my_object->setText(«test»);
перестал срабатывать.
Ну и можт кто знает, каким образом можно сделать нечто похожее на layout'ы ?

★★★★★

Последнее исправление: Gorthauer (всего исправлений: 1)

Можно взглянуть на проект? На счет лэйоутов - есть же Row, Column, Grid, еще с промщью anchor'ов дохрена можно сделать.

revbruk
()
Ответ на: комментарий от revbruk

Уже потихоньку разбираюсь. Но вот пока я привязал главную рамку к размеру виджета при помощи костылей. То есть пришлось расшарить сцену для QMLя. А потом переопределить setGeometry и там добавить два сигнала widthChanged и heightChanged, но может есть более красивый способ привязываться к размеру сцены? Кстати браузер из демок жжет, пишу из него

Gorthauer ★★★★★
() автор топика
Ответ на: комментарий от Gorthauer

Я делал так.

qmlView = new QmlView(this);
qmlView->setContentResizable(true);
qmlView->setFocus();
...
QGridLayout *gridLayout = new QGridLayout(this);
gridLayout->setMargin(0);
gridLayout->addWidget(qmlView);
...

Тут создаем контекст, цепляем к нему компоненты(если qml файлов больше одного)
Дальше:

...
qmlView->setUrl(url);//url - main.qml
qmlView->execute();
resize(qmlView->sizeHint());
qmlView->updateGeometry();

Все замечательно растягивается)

revbruk
()
Ответ на: комментарий от revbruk

У меня по большей части тоже, а вот хотел сделать border-image и она как то не растянулась сама собой(((

Gorthauer ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.