怎么将Qt中的类放入到lua栈里

如何将Qt中的类放入到lua栈里?
QString val;
 QByteArray data = val.toUtf8();
 lua_pushlstring(L, data.data(), data.length());
可以将QString压入lua栈那Qt里面其他类怎么压入例如QIcon QColor QFont等等 
------解决方案--------------------
又不是通用的类型,你push过去有什么用呢。。
莫非用lua去解析QIcon和QColor?
像你转为const char* 简单数据类型可以强转下。。
或者你吧QIcon转为QPixmap然后转为二进制数据。传过去也行我觉得。
------解决方案--------------------
是可以转的。
不过有些类尤其是使用pimpl模式和implicit sharing的类,你不了解内部的数据结构,想让其与lua交互怎么行呢。