我正在开发用于开发称为WinCC OA的控制和数据采集系统(SCADA)的软件。 后者不能导入3d对象和动画对象,但是可以创建API。
对于我来说,它是一个EWO(外部小部件对象),您会发现我生成的标题模板已附加,它是使用Qt平台以C ++开发的。
#ifndef __TEMPLATE__H_
#define __TEMPLATE__H_
#include <BaseExternWidget.hxx>
#include <QPen>
#include <QBrush>
//------------------------------------------------------------------------
--------
// this is the real widget (an ordinary Qt widget), which can also use
Q_PROPERTY
class MyWidget : public QWidget
{
Q_OBJECT
// TODO example properties
Q_PROPERTY( QStringList values READ getValues WRITE setValues DESIGNABLE
false )
Q_PROPERTY( QPen pen READ getPen WRITE setPen DESIGNABLE
false )
Q_PROPERTY( QBrush brush READ getBrush WRITE setBrush DESIGNABLE
false )
public:
MyWidget(QWidget *parent);
// TODO example of a string list property
QStringList getValues() const { return values; }
void setValues(const QStringList &list) { values = list; }
// a QPen property used on a line drawn inside this widget
const QPen &getPen() const { return pen; }
void setPen(const QPen &p) { pen = p; update(); }
// a QBrush property used as the background of this widget
QBrush getBrush() const;
void setBrush(const QBrush &brush);
signals:
// TODO example of a 2 signals this widget emits
void clicked1();
void clicked2();
protected:
virtual void paintEvent(QPaintEvent *event);
private:
// TODO example of a string list property
QStringList values;
QPen pen;
};
//------------------------------------------------------------------------
--------
// this is the EWO interface class
class EWO_EXPORT _TEMPLATE_ : public BaseExternWidget
{
Q_OBJECT
public:
_TEMPLATE_(QWidget *parent);
virtual QWidget *widget() const;
virtual QStringList signalList() const;
virtual bool methodInterface(const QString &name, QVariant::Type &retVal,
QList<QVariant::Type> &args) const;
virtual QStringList methodList() const;
public slots:
virtual QVariant invokeMethod(const QString &name, QList<QVariant>
&values, QString &error);
private slots:
// TODO the slots you need to redirect to the generic "signal" signal
void clicked1();
void clicked2();
private:
MyWidget *baseWidget;
};
#endif
诚实地在纯Qt中开发交互式3d模拟器,并尊重生成的模板,我什至无法上手。
这是一个视频,可以让我对我想制作的3d模拟器有所了解 https://www.youtube.com/watch?v=yu-M6Omk1ps
我考虑过使用3d引擎开发模拟器,然后开始使用unity进行开发(3d地铁站可视化,我可以通过按钮控制摄像头位置,也可以打开/关闭电梯等)。
我设法做到了,但是我的问题是集成,如何将该模拟器集成到WinCC OA中,即我统一下的演示文稿将成为新软件中的小部件,并且我可以从中控制电梯,自动扶梯等。最后一个软件。
请帮助
最好的问候
Anes