Я написал скрипт на Python с QMainWindow. Теперь мне нужно запустить его в процессе C ++ и позволить им получить связь позже. Тем не менее, после того, как я запускаю окно в C ++, окно всегда мигает некоторое время и затем закрывается.
Как я могу справиться с проблемой? Большое спасибо!
Python Script helloworld.py:
import sys
from pyqtgraph.Qt import QtCore, QtGui
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setWindowTitle("window app")
print('created')
self.show()
def test():
app = QtGui.QApplication([])
w = Window()
sys.exit(app.exec_())
if __name__ == '__main__':
test()
C ++:
#undef _DEBUG
#include <Python.h>
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
Py_SetPythonHome(...);
Py_Initialize();
if (!Py_IsInitialized()) {
return -1;
}
PyRun_SimpleString("import os, sys");
PyRun_SimpleString("print(os.getcwd())");
PyRun_SimpleString("import helloworld");
PyRun_SimpleString("helloworld.test()");
Py_Finalize();
system("pause");
}