Ejemplo
Contenido del fichero sleswidgetfactory.cpp para un widget personalizado con el nombre de
clase "SlEsTestCustomWidget":
#include <Qt/qglobal.h>
#include "slestestcustomwidget.h"
///////////////////////////////////////////////////////////////////////////
// MAKROS FOR PLUGIN DLL-EXPORT - DO NOT CHANGE
///////////////////////////////////////////////////////////////////////////
#ifndef Q_EXTERN_C
#ifdef __cplusplus
#define Q_EXTERN_C
#else
#define Q_EXTERN_C
#endif
#endif
#define SL_ES_FCT_NAME(PLUGIN) sl_es_create_ ##PLUGIN
#define SL_ES_CUSTOM_WIDGET_PLUGIN_INSTANTIATE( IMPLEMENTATION , PARAM) \
{ \
IMPLEMENTATION *i = new PARAM; \
return i; \
}
#ifdef Q_WS_WIN
#
ifdef Q_CC_BOR
#
define EXPORT_SL_ES_CUSTOM_WIDGET_PLUGIN(PLUGIN,PARAM) \
Q_EXTERN_C __declspec(dllexport) void* \
__stdcall SL_ES_FCT_NAME(PLUGIN) (QWidget* pParent) \
SL_ES_CUSTOM_WIDGET_PLUGIN_INSTANTIATE( PLUGIN,PARAM )
#
else
#
define EXPORT_SL_ES_CUSTOM_WIDGET_PLUGIN(PLUGIN,PARAM) \
Q_EXTERN_C __declspec(dllexport) void* SL_ES_FCT_NAME(PLUGIN) \
(QWidget* pParent) \
SL_ES_CUSTOM_WIDGET_PLUGIN_INSTANTIATE( PLUGIN,PARAM )
#
endif
#else
#
define EXPORT_SL_ES_CUSTOM_WIDGET_PLUGIN(PLUGIN,PARAM) \
Q_EXTERN_C void* SL_ES_FCT_NAME(PLUGIN) (QWidget* pParent) \
SL_ES_CUSTOM_WIDGET_PLUGIN_INSTANTIATE( PLUGIN,PARAM )
#endif
SINUMERIK Integrate Run MyScreens
Manual de programación, 07/2022, A5E50479473E AC
extern "C"
extern
Elementos gráficos y lógicos
9.4 Widgets personalizados
233