摘要:
合并博客,此博客以后不再更新 阅读全文
摘要:
话接上篇。通过前几篇博客,我们实现在Lua脚本中执行Qt类中函数的方法,以及在Lua脚本中连接Qt对象的信号与槽。 但是,我们也能发现,如果希望在Lua脚本中执行Qt类的函数,就必须绑定一个真正实现功能的函数。如QWidget::show(),需要写一个在栈中取出widget指针,widget调用show()函数的方式。如果希望在Lua中调用大量函数,就需要编写大量的C++实现函数。有没有什么省时省力的好方法呢? 上一篇中我们实现了在Lua脚本中连接信号与槽。我们只是传过去了两个QObject的对象,和两个字符串的函数名。我们并没有具体实现那个函数,但是槽函数顺利执行了。这给了笔者启发... 阅读全文
摘要:
话接上文。笔者为了方便使用Lua,自己编写了一个Lua的类。主要代码如下: QLua.h 1 #ifndef QLUA_H 2 #define QLUA_H 3 4 // own 5 #include "include/lua.hpp" 6 7 // qt 8 #include 9 #include 10 #include 11 12 #include 13 #include 14 #include 15 #include 16 17 class QLua : public QObject18 {19 Q_OBJECT20 public:21 QLua(QObjec... 阅读全文
摘要:
话接上篇。成功配置好Qt+Lua+toLua后,我们可以实现在Lua脚本中使用各个Qt的类。直接看代码吧。#include "include/lua.hpp"#include #include #include #include static int tolua_new_QWidget(lua_State* pState){ QWidget* widget = new QWidget(); tolua_pushusertype(pState, widget, "QWidget"); return 1;}static int tolua_delete_QW 阅读全文