Qt QML презентация
Содержание
- 4. lesson2.pro файл проекта, содержит необходимую информацию для того, чтобы qmake собрал
- 5. main.cpp #include #include int main(int argc, char *argv[]) {
- 6. main.qml import QtQuick 2.6 import QtQuick.Window 2.2 Window { visible:
- 7. MainForm.ui.qml import QtQuick 2.6 Rectangle { property alias mouseArea: mouseArea
- 8. Идеология приложений Qt QML минимум C++ кода, (в main.cpp создано приложение
- 9. Модель программы на Qt дизайн на QML код на C++
- 10. Загрузка QML объектов из C++ QML загрузка QQmlComponent загружает QML как
- 11. MyItem.qml import QtQuick 2.0 Item { width: 100; height: 100
- 12. QQmlComponent QQmlEngine engine; QQmlComponent component(&engine, QUrl::fromLocalFile ("MyItem.qml")); QObject *object = component.create();
- 13. QQuickView QQuickView view; view.setSource(QUrl::fromLocalFile("MyItem.qml")); view.show(); QObject *object = view.rootObject();
- 14. Изменение свойств object object->setProperty("width", 500); QQmlProperty(object, "width").write(500); QQuickItem *item = qobject_cast<QQuickItem*>(object);
- 15. Доступ к загруженным QML-объектам import QtQuick 2.0 Item { width:
- 16. Доступ свойствам QML-объектов // MyItem.qml import QtQuick 2.0 Item {
- 17. qDebug() << "Property value:" << QQmlProperty::read(object, "someNumber").toInt(); QQmlProperty::write(object, "someNumber", 5000); qDebug()
- 18. Вызов методов QML // MyItem.qml import QtQuick 2.0 Item {
- 19. // main.cpp QQmlEngine engine; QQmlComponent component(&engine, "MyItem.qml"); QObject *object = component.create();
- 20. Подключение к сигналам QML // MyItem.qml import QtQuick 2.0 Item {
- 21. // C++ class MyClass : public QObject { Q_OBJECT public
- 22. // MyItem.qml import QtQuick 2.0 Item { id: item
- 23. // C++ class MyClass : public QObject { Q_OBJECT public
- 24. QML + C++ проект //main.cpp #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int
- 25. //main.qml import QtQuick 2.6 import QtQuick.Window 2.2 Window { visible:
- 26. Корневой объект Window QList<QObject*> lst = engine.rootObjects(); int count =
- 27. свойства width и title у Window qDebug() << "width: " <<
- 28. Задание текста в поле ввода QObject *mainForm = object->findChild<QObject*>("mainForm"); if
- 29. Позиционирование элементов QML Каждый элемент имеет следующие "якорные линии": left, horizontalCenter,
- 30. Привязка левой стороны прямоугольника rect2 к правой прямоугольника rect1 Rectangle {
- 31. Rectangle { id: rect1 } Rectangle { id:
- 32. Rectangle { id: rect1 x: 0 } Rectangle {
- 33. "якорная линия" baseline, она соответствует воображаемой линии, на которой помещается текст.
- 34. Anchors Margins (Поля) и Offsets (смещения) Пустое пространство между якорной линией
- 35. Rectangle { id: rect1 } Rectangle { id: rect2
- 36. QML FileDialog MainForm Text, TextField, Button FileDialog с selectFolder
- 37. mainForm import QtQuick 2.6 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import
- 38. Text { id: text1 text: qsTr("Path to
- 39. TextField { id: txfPath anchors.left: text1.right
- 40. Button { id: btnSelect anchors.right: parent.right
- 41. FileDialog { id: fileDialog title: "Please choose
- 42. main.qml mport QtQuick 2.6 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.0 Window
- 43. обрабатываем два события: btnSelect.onClicked и fileDialog.onAccepted. По первому событию мы открываем
- 44. Скачать презентацию




![main.cpp
#include
#include
int main(int argc, char *argv[])
{
main.cpp
#include
#include
int main(int argc, char *argv[])
{](/documents_7/26dd6e2e11a461c09f1a4b8efd609270/img4.jpg)






































Слайды и текст этой презентации
Похожие презентации