Форум программистов, компьютерный форум, киберфорум
QML
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 0
Регистрация: 14.10.2013
Сообщений: 87
1

QML: QtQuick 1.0 и QtQuick 2.4 - Как происходит обработка сигналов?

21.03.2015, 05:36. Показов 2432. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В книге Максима Шлее по Qt 4.8 рассказывается о сигналах в QML и приводится пример программы:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import QtQuick 1.0
 
Rectangle {
    width: 300
    height: 150
 
    signal mousePositionChanged(real x, real y)
 
    onMousePositionChanged:
        txt.text = "<h1>X:" + x + "; Y:" + y + "</h1>"
 
    Text {
        id: txt
        text: "<h1>Move the Mouse</h1>"
        anchors.centerIn: parent
    }
    MouseArea {
        anchors.fill: parent
        hoverEnabled: true
        onMousePositionChanged:
            parent.mousePositionChanged(mouseX, mouseY)
    }
}
При запуске этого же кода на QtQuick 2.4 появляется ошибка:
Кликните здесь для просмотра всего текста
Запускается C:\Qt\5.4\mingw491_32\bin\qmlscene.exe...
file:///C:/Qt/Projects/test/test.qml:24 Cannot assign to non-existent property "onMousePositionChanged"

C:\Qt\5.4\mingw491_32\bin\qmlscene.exe завершился с кодом -1


Вопросы:
  1. Почему так выходит?
  2. Должен ли вообще обработчик onMousePositionChanged исполняться в MouseArea? Ведь никто не послал сигнал mousePositionChanged.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2015, 05:36
Ответы с готовыми решениями:

В PyQt5 QML QtQuick как обращаться к элементам не по ID, а по его индексу?
например тут, где у каждого TextField свой индекс Rectangle { ListView { id:...

В PyQt5 QML QtQuick почему не выполняется код после вызова слота?
onClicked: { // Вызываем слот калькулятора, чтобы вычесть числа ...

Какое событие срабатывает в ListView после перезагрузки модели в PyQt5 QML QtQuick?
ListView { id: listView model: lModel //... }

QML module "QtQuick" is not installed
Вылавливаю такое сообщение и многие другие при попытке подключения qml файла в класс, наследуемый...

1
0 / 0 / 1
Регистрация: 29.03.2017
Сообщений: 1
23.05.2018, 15:43 2
Лучший ответ Сообщение было отмечено RareScrap как решение

Решение

Поправте здесь
C++
1
2
3
4
5
6
MouseArea {
        anchors.fill: parent
        hoverEnabled: true
        onPositionChanged:
            parent.mousePositionChanged(mouseX, mouseY)
    }
0
23.05.2018, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2018, 15:43
Помогаю со студенческими работами здесь

QtQuick 2.0 как изменить значение свойства из c++
Весь инет уже перерыл, не могу найти ответа, только по 1.0, но в 2.0 я никак не могу получить...

QtQuick 1 vs QtQuick 2
Добрый вечер. Не могу понять, в чем проблема. Копируем простой код для QtQuick 1 и меняем первую...

Signal from qt to qtquick
У меня есть модель QAbstractListModel, которая создаётся на основе результата запроса к БД. Есть...

QPushButton в QtQuick 2.0
Привет всем! как расположить QPushButton в qml ? а то у меня все никак не получается вот мой код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru