Setup initial qt plugin demo

This commit is contained in:
2025-03-07 11:02:41 +01:00
parent 72e499c7d0
commit 7121fdd252
60 changed files with 2104 additions and 0 deletions

View File

@ -0,0 +1,41 @@
#pragma once
#include "rqt_gui_cpp/plugin.h"
#include <QtGui>
#include <QtQuick>
#include <QtWidgets>
#include <qfileinfo.h>
#include <qobjectdefs.h>
#include <qpushbutton.h>
#include <qquickview.h>
#include <qquickwindow.h>
#include <qresource.h>
#include <qurl.h>
#include <qwidget.h>
inline void initResources() { Q_INIT_RESOURCE(res); }
inline void cleanupResources() { Q_CLEANUP_RESOURCE(res); }
namespace mg {
class DemoPluginMg : public rqt_gui_cpp::Plugin {
Q_OBJECT
public:
DemoPluginMg();
~DemoPluginMg();
virtual void shutdownPlugin() {
RCLCPP_INFO(node_->get_logger(), "The plugin has been shutdown");
}
virtual void initPlugin(qt_gui_cpp::PluginContext &);
};
inline void DemoPluginMg::initPlugin(qt_gui_cpp::PluginContext &pc) {
QQuickView *qv = new QQuickView(QUrl("qrc:/qml/helloworld.qml"));
qv->setResizeMode(QQuickView::ResizeMode::SizeRootObjectToView);
QWidget *qw = QWidget::createWindowContainer(qv);
pc.addWidget(qw);
RCLCPP_INFO(node_->get_logger(), "The plugin has been initialized");
}
}; // namespace mg