#qt #qt5 #gis #kde #qtlocation
Вопрос:
Я играю с киригами KDE и хочу разработать приложение, которое содержит карту. Я разрабатываю последнюю версию openSUSE Tumbleweed с KDevelop. Я начал с первоначального шаблона Киригами «новый проект» и добавил в него элемент карты на основе QtLocation 5.15 main.qml
. Наконец, я хотел бы использовать пользовательский сервер листов. Но, однако, при использовании osm
плагина он аварийно завершает работу после загрузки одной или двух плиток без какого-либо сообщения (в отладчике и интерфейсе командной строки). Однако mapboxgl
плагин работает. Подключаемый osm
модуль аварийно завершает работу с серверами листов по умолчанию или настраиваемыми серверами листов.
Вход Kirigami.page
main.qml
выглядит так, с разными конфигурациями, которые я проверил.
import QtQuick 2.6 import QtQuick.Controls 2.0 as Controls import QtQuick.Layouts 1.2 import org.kde.kirigami 2.13 as Kirigami import QtPositioning 5.15 import QtLocation 5.15 Kirigami.Page { id: page Layout.fillWidth: true title: i18n("Main Page") // working plugin Plugin { id: mapPlugin name: "mapboxgl" } // plugin crashes Plugin { id: mapPluginOsm name: "osm" PluginParameter { name: "osm.mapping.providersrepository.address" value: "http://maps-redirect.qt.io/" } } // plugin crashes Plugin { id: mapPluginOsm2 name: "osm" PluginParameter { name: "osm.mapping.providersrepository.disabled" value: "true" } PluginParameter { name: "osm.mapping.providersrepository.address" value: "https://maps-redirect.qt.io/" } } // plugin crashes Plugin { id: mapPluginOsm3 name: "osm" PluginParameter { name: "osm.mapping.providersrepository.disabled" value: "true" } PluginParameter { name: "osm.mapping.providersrepository.address" value: "https://maps-redirect.qt.io/" } } // plugin crashes Plugin { id: mapPluginOsm4 name: "osm" } // plugin crashes Plugin { id: mapPluginOwnTiles name: "osm" PluginParameter { name: "osm.mapping.custom.host" value: "own tile servers URI, working with leaflet" } PluginParameter { name: "osm.mapping.providersrepository.disabled" value: true } } Map { anchors.fill: parent plugin: mapPluginOsm center: QtPositioning.coordinate(52.52, 10.40) zoomLevel: 10 activeMapType: supportedMapTypes[supportedMapTypes.length - 1] } }
Это неправильное использование Киригами, QtLocation или что-то еще? Поскольку отладчик вообще не показывает никаких причин для зависания, я действительно не знаю, как отлаживать. Если я просто запущу двоичный файл, он тоже зависнет. Если я запускаю двоичный файл из интерфейса командной строки , я получаю одно предупреждение об устаревшем Units.devicePixelRatio
, но это относится и к рабочему mapboxgl
плагину, поэтому он, похоже, не подключен.
Комментарии:
1. может быть, использовать отладочную сборку Qt 5.15, чтобы связать ваше приложение, а затем запустить его в qtcreator в режиме отладки?