crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Вызовы из QML
zoonman
  опции профиля:
сообщение 24.1.2011, 11:38
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 24.1.2011
Пользователь №: 2361

Спасибо сказали: 0 раз(а)




Репутация:   0  


Не пойму, как осуществлять взаимодействие с QML-контейнером.

Программа выглядит так:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
        QDeclarativeView view;
        // enable semi-transparent
        QPalette palette;
        palette.setColor(QPalette::Base, Qt::transparent);
        view.setPalette(palette);
        view.setAttribute(Qt::WA_TranslucentBackground);

        // loading QML from file
        view.setSource(QUrl::fromLocalFile("../qml1/qml1.qml"));

        // disable OS GIU form-control
        view.setWindowFlags(Qt::FramelessWindowHint);

        view.show();

    return a.exec();
}




QML очень простой:

Rectangle {
            id: menu_1
            x:18
            y:2
            radius: 3
            width: 200
            height: 100
            color: "#80555555"
            visible: false
            MouseArea {
                hoverEnabled: true
                anchors.fill: parent
                onEntered: { menu_1.visible = true }
                onExited: { menu_1.visible = false }
                onClicked:{
                    Qt.quit()

                }
            }
        }


Хочу понять, как делать вызовы из QML во внешнюю программу.
Пытаюсь сделать простенький плеер с использованием Phonon.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 24.1.2011, 11:47
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


////////////////////////.h
class SomeClass : public QObject {
.....................
Q_INVOKABLE void someMethod (const QString& vlaue);
.........................
}
////////////////////////.cpp
declarativeView->rootContext ()->setContextProperty ("SomeClass", someClass);
///////////////////////.qml
SomeClass.someMethod ("Hello, world!");

Вот так это делается. Посмотри примеры, там все это есть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zoonman
  опции профиля:
сообщение 24.1.2011, 14:29
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 24.1.2011
Пользователь №: 2361

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(panter_dsd @ 24.1.2011, 11:47) *
Посмотри примеры, там все это есть.

Посмотрел я примеры.

А как быть, если я хочу контекст приложения. Т.е. кнопка выхода из программы?
В вашем примере вроде как метод объекта или реализовывать выход из приложения через метод объекта?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 24.1.2011, 14:32
Сообщение #4


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


В someMethod делай выход из приложение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.12.2024, 19:15