Russian Qt Forum
Ноябрь 23, 2024, 08:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Пытаюсь вникнуть в QML - не пойму как связать С++ со сценой  (Прочитано 6169 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Февраль 08, 2014, 19:36 »

Привет. Создал проект QtQuickControls 1.1.
Получил такой код main.cpp
Код:
#include "qtquick2controlsapplicationviewer.h"

int main(int argc, char *argv[])
{
    Application app(argc, argv);

    QtQuick2ControlsApplicationViewer viewer;
    viewer.setMainQmlFile(QStringLiteral("qml/qml1/main.qml"));
    viewer.show();

    return app.exec();
}

А что дальше? Как получить контекст, как найти элементы на сцене и т.п.?? Я в этом полный ноль. Хелп прочитал, просмотрел примеры, но целого решения от А до Я так и не нашёл. Грустный Просветите пожалуйста. Ориентируюсь на Андроид.
+ Как обрабатывать несколько окон в QML?
Записан
BuRn
Гость
« Ответ #1 : Февраль 08, 2014, 21:09 »

Цитировать
QtQuick2ControlsApplicationViewer
Если вы разбираетесь хотя бы в C++, то это наследник от класса QQuickView.На сколько я понял его ввели в 5.2. Посмотрите доки по этому классу, класс имеет метод rootContext.Дальше курите в сторону QQmlEngine, его вроде бы добавили тоже в 5.2, точнее переименовали
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Февраль 15, 2014, 11:03 »

"хотя бы" разбираюсь, но вопрос стоит так - как разрабатывать многооконные приложения с QML. Как сделать дочерние окна? Я так понимаю основное окно по шаблону делает креатор, остальные окна руками?
Записан
BuRn
Гость
« Ответ #3 : Февраль 15, 2014, 11:23 »

"хотя бы" разбираюсь, но вопрос стоит так - как разрабатывать многооконные приложения с QML. Как сделать дочерние окна? Я так понимаю основное окно по шаблону делает креатор, остальные окна руками?
В моем понимании, у программы на QML должно быть одно окно, где-то мы тут это уже обсуждали. Никто не мешает динамически создавать Retangle-ы. Накладывать их поверх главного окна, тем самым получая как бы второе окно...
Да все остальные окна если вы уж так хотите, придется реализовывать руками
« Последнее редактирование: Февраль 15, 2014, 11:35 от BuRn » Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Февраль 16, 2014, 11:38 »

впринципе я так и понял, судя по примерам, я видел везде только одноэкранные программы, главное окно которых содается в main. Т.е. к примеру есть приложение на андроид. У него есть главное окно с контентом, нужно показать окно настроек - надо рисовать другой QML элемент (который дупустим в отдедльном файле и являет собой полноценное окно с настройками) над главным окном? После widget ориентированного подхода не совсем привычно.
Записан
BuRn
Гость
« Ответ #5 : Февраль 16, 2014, 14:57 »

впринципе я так и понял, судя по примерам, я видел везде только одноэкранные программы, главное окно которых содается в main. Т.е. к примеру есть приложение на андроид. У него есть главное окно с контентом, нужно показать окно настроек - надо рисовать другой QML элемент (который дупустим в отдедльном файле и являет собой полноценное окно с настройками) над главным окном? После widget ориентированного подхода не совсем привычно.
Ну да я стараюсь придерживаться именно этого принципа, хотя чем больше программа, тем больший геморой
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Февраль 16, 2014, 22:41 »

надо рисовать другой QML элемент (который дупустим в отдедльном файле и являет собой полноценное окно с настройками) над главным окном? После widget ориентированного подхода не совсем привычно.

Есть компонент Window, см. http://qt-project.org/doc/qt-5.1/qtquick/qml-qtquick-window2-window.html . Поведение диалога придётся эмулировать: задавать modality и эмулировать accepted/rejected.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #7 : Февраль 17, 2014, 11:05 »

Это уже интереснее, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.148 секунд. Запросов: 22.