Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt]Qml, встраивание и слоты, не знаю как поймать сигнал 
V
    Опции темы
chaos
Дата 26.1.2010, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Доброго времени суток!
Начинаю переносить существующий back-end на новый front-end, в именно DeclarativeUI.

Описание проблемы:
Есть С++ объект - someObject у которого есть два слота(из qml не получается дергать за простые методы)один из них запускает таймер и по тайм ауту высылает сигнал.
Я хочу обработать этот сигнал из qml.
Код

class SomeObject : public QObject
{
Q_OBJECT
signals:
    void flagChanges();

public slots:
    void method()
    {
        startTimer((qrand() % 10) * 1000);
    }

protected:
    void timerEvent(QTimerEvent *event)
    {
        emit flagChanged();
        killTimer(event->timerId);
    }
}

int main(...)
{
    .....

    SomeObject someObject;

    QmlView view;
    view.rootContext()->setContextProperty("clt", &someObject);
    view.setUrl(QUrl("main.qml"));
    view.execute();
    view.show();

    ....
}


Код

import Qt 4.6

Item {
    id: mainView

    MouseRegion {
        anchors.fill: parent
        onClicked: clt.method()
    }

    //тут думаю как поймать сигнал
}


может есть люди которые уже разбирались с DeclarativeUI.

заранее благодарен!

Это сообщение отредактировал(а) chaos - 26.1.2010, 21:14
PM WWW   Вверх
chaos
Дата 26.1.2010, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Разобрался!
Код

Connection {
    sender: clt
    signal: "flagChanges()"
    script: console.log('flagChanged');
}




Это сообщение отредактировал(а) chaos - 26.1.2010, 21:44
PM WWW   Вверх
ysfox
Дата 17.1.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 29.7.2009

Репутация: нет
Всего: нет



Можеш подсказать куда именно в qml connection вставлять, ато никак не розберусь. просто таже проблема вчера возникла что и у тебя)
или сам код qml файла - был бы очень благодарен...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.