Комментарии (0)
Нет комментариев. Ваш будет первым!
QT += positioning
#include "geopositing.h" #include <QGeoPositionInfoSource> #include <QDebug> { //Инициализируем поиск по всем источникам //Время обновления - 1 секунда source->setUpdateInterval(1000); //Если позиция изменилась то вызываем функцию - если вы знакомы с сигналами и слотам в Qt то тут всё понятно. connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo))); //Ну и запускаем всё это дело. source->startUpdates(); } { //Получаем координаты double lng, lat; //И записываем из в переменные. Не обязательно, но для наглядности lng = coord.longitude(); lat = coord.latitude(); //Если инфа валидная то рассчитываем смещение относительно Гринвича if(info.isValid()) { // 4 минуты на градус смещения 60 секунд в минуте тут всё понятно double offset = lng*4*60; // Шлём сигнал мол обновляй смещение. emit offsetChange(offset); //Срём в консоль qDebug() << "OFFSET:" << offset << " LNG:" << lat; } else { //Опять срём в консоль qDebug() << "Position error"; } }
#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QDateTime> // Для регистрации своего объекта нам это нужно #include <QQmlContext> #include <QQuickItem> #include "src/geopositing.h" int main(int argc, char *argv[]) { QQmlApplicationEngine engine; //Вот тут вся магия ! Объяснение чуть ниже. qmlRegisterType<geoPositing>("geoPositing",1,0,"GeoPositing"); return app.exec(); }
import QtQuick 2.4 import QtGraphicalEffects 1.0 //Вот импорт нашего объекта с версией import geoPositing 1.0 Window { id: main visible: true color: "black" property int offset: 0; //А вот и сам наш объект - вызвали класс как говорится. GeoPositing{ id: geoPositon } Text { id: timeText; anchors.centerIn: parent color: "white" font.pixelSize: height/2 font.bold: true z: 2 width: parent.width-20 height: parent.height/4 } //Это красота можно не обращать внимание. anchors.fill: parent } z: 1 } Timer { id: timer interval: 1000 repeat: true running: true onTriggered: { if(main.offset != 0) { date = date+offset; } else { timeText.text = "Где я?" } } } //А вот тут мы соединяем наш сигнал в объекте с QML // цель - id нашего объекта target: geoPositon; // сигнал - пишется так onИмяСигнала именно с большой буквы onOffsetChange: { // тут действия при сигнале main.offset = offset } } }
Нет комментариев. Ваш будет первым!
Ну и где доказательства про 18 запусков у маска в 2018 году? Или ты предпочтешь и тут...