Как я могу отправлять сообщения из моего окна Qt GUI другому процессу
Я хочу сделать редактор для моего приложения OpenGL. Приложение OpenGL выполняется само по себе и создает свое собственное окно, используя библиотеку SDL2. Я создал графический интерфейс для виджетов Qt, и я запускаю QProcess, нажимая кнопку, которая запускает приложение OpenGL слева:
Я читал о том, как отправлять сообщения другому процессу, и, хотя я не уверен, что это идеальный способ сделать это, я решил попробовать записать стандартный ввод приложения OpenGL из окна Qt GUI. Таким образом, после нажатия кнопки в графическом интерфейсе у меня есть код, который идет:
void MainWindow::on_pushButton_2_clicked()
{// engineProcess is a pointer to the OpenGL QProcess started earlier.
const char* ch = "Hello";
engineProcess->write(ch, 5);
// engineProcess->writeData()
}
Затем в моем приложении OpenGL я пробую каждое обновление:
fseek(stdin, 0, SEEK_END);
int num = ftell(stdin);
if (num > 0)
GUI::OSDlog.addLogEntry("input");
Насколько я понимаю, это проверяет, является ли стандартный ввод для приложения OpenGL пустым или нет. Тем не менее, никакой вклад не добавляется никогда. Я не знаю что делать.
Если я использую char ch = getchar() и ввод пуст, приложение OpenGL остановится, пока в stdin не появится что-то, поэтому я проверяю.
Кроме того, я не знаю, является ли это лучшим способом отправки сообщений процессу. Если есть лучший способ, пожалуйста, дайте мне знать.