这段代码创建了一个 MyClass
类继承自 QMainWindow
,并且在构造函数中初始化了 PythonQt,把窗口对象和类对象添加到了 PythonQt 的 mainModule 中。
最后,调用 execFile
方法执行一个 my_script.py
的 Python 脚本。在这个脚本中可以访问 my_window
和 MyClass
对象。
#include "PythonQt.h"
#include <QApplication>
#include <QMainWindow>
class MyClass : public QMainWindow
{
Q_OBJECT
public:
MyClass() {
PythonQt::init();
PythonQtObjectPtr mainModule = PythonQt::self()->getMainModule();
mainModule.addObject("my_window", this);
PythonQt::self()->addDecorators(new PythonQtClassInfo("MyClass", "", "", this));
PythonQt::self()->execFile("my_script.py");
}
public slots:
void my_slot() {
// do something here
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyClass myClass;
myClass.show();
return app.exec();
}