2012-06-25 2 views
0

У меня есть код на C++, и теперь я собираюсь подготовить UI с Qt, так как его язык также является C++. Прежде чем пытаться сделать это, я задаюсь вопросом, как я могу передавать данные между моим кодом и кодом пользовательского интерфейса. Я имею в виду, я не хочу писать переменные в текстовый файл и позволять пользовательскому интерфейсу читать его. Вместо этого я хочу, чтобы это было сделано внутренне. Я знаю, что это возможно, но не знаю, с чего начать. Есть идеи?Передача данных между Qt и кодом C++

+2

Если ваш код и код Qt будут работать в одном потоке, стандартные методы передачи данных C++ (передача через параметр функции-вызова, глобальная переменная и т. Д.) Должны работать нормально. Или вы планируете запустить GUI как отдельный процесс из существующего кода? –

+0

@JeremyFriesner: Да, они должны работать отдельно. Я не хочу их смешивать. – Shibli

+0

Итак, вы ищете двунаправленную межпроцессную связь на C++. На каких платформах вы нацеливаетесь? – cgmb

ответ

1

Qt имеет механизм сигнала и слота, предназначенный для этой цели. Посмотрите на примеры здесь http://qt-project.org/doc/qt-5.0/examples-widgets.html Это также работает, если Gui работает в отдельном потоке, но будьте осторожны, чтобы получить Threading и сигналы и слоты право: http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/

0

Для основного обмена данными между графическим интерфейсом процессов и процесса командной строки , Я бы использовал QProcess. Он предоставляет возможности для запуска исполняемого файла с аргументами, чтение stdout & stderr, запись на stdin и уведомление о завершении программы. Он кросс-платформенный и будет работать практически со всем, что было бы для взаимодействия с командной строкой.

Смежные вопросы