Setup initial qt plugin demo
This commit is contained in:
41
include/rqt_demo_plugin/rqt_demo_plugin.hpp
Normal file
41
include/rqt_demo_plugin/rqt_demo_plugin.hpp
Normal 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
|
||||
Reference in New Issue
Block a user