QDialog, созданный из (встроенного) кода Python, не отображаетсяPython

Программы на Python
Anonymous
QDialog, созданный из (встроенного) кода Python, не отображается

Сообщение Anonymous »

В моей программе на C++ после создания QApplication на C++ впоследствии запускается код Python, создающий QDialog, но он никогда не отображается.
тестовый пример 0:

Код: Выделить всё

QApplication a(argc, argv);
MainWindow w; // MainWindow is a class inheriting from QMainWindow
w.show();
return a.exec();
чистый код C++, окно qt создано успешно
тестовый пример 1:

Код: Выделить всё

execute_python_program("qdiag-with-qapplication.py");
// execute_python_program is a program modified from
// https://docs.python.org/3/extending/embedding.html#very-high-level-embedding
чистый код Python, окна qt созданы успешно (

Код: Выделить всё

QApplication
был создан в скрипте Python)
тестовый пример 2:

Код: Выделить всё

QApplication a(argc, argv);
MainWindow w; // MainWindow is a class inheriting from QMainWindow
w.show();

execute_python_program("../qdiag-without-qapplication.py");

return a.exec();
На этот раз скрипт Python не создает QApplication. В результате QMainWindow, созданный из C++, виден, а созданный из скрипта Python — нет. Как исправить это, чтобы создать QDialog из скрипта Python после создания QApplication из C++?
воспроизведите 3 тестовых примера:

Код: Выделить всё

$ git clone https://github.com/w3ntao/Qt-CMake-HelloWorld.git
$ cd Qt-CMake-HelloWorld
$ mkdir build
$ cmake ..
$ make -j4

$ ./hello-qt 0
$ ./hello-qt 1
$ ./hello-qt 2


Подробнее здесь: https://stackoverflow.com/questions/790 ... s-not-show

Вернуться в «Python»