Как исправить «Отладчик QML: Невозможно прослушать порт» - PullRequest
2 голосов
/ 11 июля 2019

Я новичок в QML и должен работать над проектом, начатым коллегой.При запуске приложения я получаю следующие сообщения:

QML debugging is enabled. Only use this in a safe environment.
QML Debugger: Unable to listen to port 34567.

В связи с тем, что это проект ROS, я должен работать с cmake.


Система:

  • Ubuntu 16.04
  • Qt Creator 4.9.2
  • QT 5.8.0
  • ROS Kinetic
  • Включить QML в настройках отладчика

То, что я пробовал до сих пор:

  • перезагрузка системы
  • пробовал несколько портов
  • проверено, что никакое другое приложение Qt
  • прослушивает порт с netcat

Фрагменты кода:

CMakeLists.txt:

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQT_QML_DEBUG ")

set(TEMPLATE_QT_VERSION "5.8.0" CACHE STRING "Qt Version")
set(TEMPLATE_QT_MODULES Core Gui Widgets Quick Qml Concurrent Network DBus PrintSupport)

find_package(Qt5 ${TEMPLATE_QT_VERSION} EXACT CONFIG REQUIRED ${TEMPLATE_QT_MODULES})

main.cpp:

#include <QGuiApplication>

  #include <QQmlDebuggingEnabler>

  #include "ros/ros.h"
  #include "heartbeat/heartbeat.h" 
  #include <string.h>
  #include <iostream>
  #include "message_handler/ros2tag.h"
  #include <QQmlContext>
  #include <QtCore/QDir>
  #include <QtQuick/QQuickView>
  #include <QtQml/QQmlEngine>
  #include <QQmlApplicationEngine>
  #include "imageprovider.h"

  #include "qmlprox.h"
  #include <QtGui/QGuiApplication>
  #include <QtCore/QDir>
  #include <QQmlEngine>

  #include <QList>
  #include <QString>

  #include "geodataprovider.h"
  #include "georeferenceddatalistmodel.h"
  #include "georeferenceddatatriplelistmodel.h"
  #include "parameterdatalistmodel.h"
  #include "parameterdata.h"
  #include "beetImageHandler.h"




  int main(int argc, char **argv)
  {
      QGuiApplication app(argc, argv);

      QQmlDebuggingEnabler enabler;

      //Initialisierung Knoten
      ros::init(argc, argv, "hmi");
      ros::NodeHandle n;

ROS-Launchfile:

<launch>
  <arg name="externParameters" default="0" />
  <group ns="hmi">
    <node name="hmi" pkg="hmi" type="hmi" respawn="true" respawn_delay="10" args="-qmljsdebugger=port:34567" />
  </group>
</launch>

Из-за файла запуска ROS приложениезапускается с аргументом "-qmljsdebugger = port: 34567".

Может кто-нибудь из вас подскажет, пожалуйста, подсказку или решение моей проблемы?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...