Size: a a a

2021 January 26

м

мыши in Qt
Renat Garaev
Какое то противоречивое требование: хотите запускать из консольного приложения c++ -> графическое приложение Qt. Для начала тогда сделайте консольное приложение в Qt и его запускайте из другого вашего приложения c++
тут нет противоречия, никто не мешает запускать гуй из консольного приложения
источник

SE

Suigintou45 E14 in Qt
а линуксовый fexecve можно на область памяти натравить?)
источник

КМ

Костя Мальованик... in Qt
mefest
пишешь gui приложение и его вызываешь из консольного через qProcess
Так а я не могу завернуть Qt приложуху в Dll, потом в консольном приложении загрузить эту длл и дёрнуть моё приложение и общатся с ним, уже на уровне процессов???
источник

м

мыши in Qt
Костя Мальованик
Так а я не могу завернуть Qt приложуху в Dll, потом в консольном приложении загрузить эту длл и дёрнуть моё приложение и общатся с ним, уже на уровне процессов???
а что ты хочешь сделать помимо того, чтобы просто запустить приложуху в отдельном процессе?
источник

КМ

Костя Мальованик... in Qt
мыши
а что ты хочешь сделать помимо того, чтобы просто запустить приложуху в отдельном процессе?
Запустить и сделать возможным общение между приложухами. Моё консольное приложение подписывается на события в qt приложухе, а qt на события в моём консольном приложении. как то так
источник

м

мыши in Qt
чтобы подписываться на события у тебя должны быть исходники, они у тебя есть ?
источник

M

Mr.Mait in Qt
Костя Мальованик
Так а я не могу завернуть Qt приложуху в Dll, потом в консольном приложении загрузить эту длл и дёрнуть моё приложение и общатся с ним, уже на уровне процессов???
Можешь в dll, потом подключить библиотеку к своему проекту Qt(иначе никак). Все будет работать в одном процессе, ничего не мешает реализовать многопоточность

https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application
источник

VS

Vasiliy Sorokin in Qt
Костя Мальованик
Запустить и сделать возможным общение между приложухами. Моё консольное приложение подписывается на события в qt приложухе, а qt на события в моём консольном приложении. как то так
Ну так dll тут вообще не причем, вопервых тот же QProcess позволяет тебе настроить in и out каналы для обмена
во вторых есть такое понятие как интерпроцесс коммуникейшен, которое може осуществляется миллионом способов, начиная от банального чтения/писания в сокет и заканчивая всякими шаред мемори
источник

M

Mr.Mait in Qt
Vasiliy Sorokin
Ну так dll тут вообще не причем, вопервых тот же QProcess позволяет тебе настроить in и out каналы для обмена
во вторых есть такое понятие как интерпроцесс коммуникейшен, которое може осуществляется миллионом способов, начиная от банального чтения/писания в сокет и заканчивая всякими шаред мемори
Поддерживаю
https://doc.qt.io/qt-5/ipc.html
источник

VS

Vasiliy Sorokin in Qt
а точно D-Bus еще для всяких посиксов
источник

RG

Renat Garaev in Qt
Vasiliy Sorokin
Ну так dll тут вообще не причем, вопервых тот же QProcess позволяет тебе настроить in и out каналы для обмена
во вторых есть такое понятие как интерпроцесс коммуникейшен, которое може осуществляется миллионом способов, начиная от банального чтения/писания в сокет и заканчивая всякими шаред мемори
@Mal_Kostya
1. rest api возможно, еще реализовать обмен.
2. Может и файлами меняться, когда файл появляется рядом с приложением, тогда его обрабатывать.
источник

VS

Vasiliy Sorokin in Qt
Renat Garaev
@Mal_Kostya
1. rest api возможно, еще реализовать обмен.
2. Может и файлами меняться, когда файл появляется рядом с приложением, тогда его обрабатывать.
1. Ну rest это уже верхний уровень протокола
2. с обычными файлами кмк может быть проблема в синхронизации
источник

RG

Renat Garaev in Qt
Vasiliy Sorokin
1. Ну rest это уже верхний уровень протокола
2. с обычными файлами кмк может быть проблема в синхронизации
Я думал вы про проблему когда файл завершится записывать, напишите. Т.е. сначала писать в файл .new а потом в финале перименовывать, когда он уже записан в data.json например
источник

КМ

Костя Мальованик... in Qt
Vasiliy Sorokin
Ну так dll тут вообще не причем, вопервых тот же QProcess позволяет тебе настроить in и out каналы для обмена
во вторых есть такое понятие как интерпроцесс коммуникейшен, которое може осуществляется миллионом способов, начиная от банального чтения/писания в сокет и заканчивая всякими шаред мемори
Ну тогда что получается. 1) У меня есть приложение без Qt  и  2) UI приложение на Qt.  Что бы запустить в  1 приложении Qt приложуху в отдельном процессе, я использую средства WinAPI(если брать винду). Что бы общаться в 2 стороны в qt  использую Qprocess так ??
источник

VS

Vasiliy Sorokin in Qt
Renat Garaev
Я думал вы про проблему когда файл завершится записывать, напишите. Т.е. сначала писать в файл .new а потом в финале перименовывать, когда он уже записан в data.json например
Както все это костыльно, надо всякие права на запись отслеживать, еще какойнить левый чел придет и файл потрет - это тоже надо обрабатывать
источник

VS

Vasiliy Sorokin in Qt
Костя Мальованик
Ну тогда что получается. 1) У меня есть приложение без Qt  и  2) UI приложение на Qt.  Что бы запустить в  1 приложении Qt приложуху в отдельном процессе, я использую средства WinAPI(если брать винду). Что бы общаться в 2 стороны в qt  использую Qprocess так ??
Нет. чтобы общаться тоже смотрите винапи.
источник

RG

Renat Garaev in Qt
Костя Мальованик
Ну тогда что получается. 1) У меня есть приложение без Qt  и  2) UI приложение на Qt.  Что бы запустить в  1 приложении Qt приложуху в отдельном процессе, я использую средства WinAPI(если брать винду). Что бы общаться в 2 стороны в qt  использую Qprocess так ??
Напишите подробнее вашу задачу. Что от Qt передается в консольное приложение?
Маленький файл? Цифры? json? Большой файл(например 1 гб)?
источник

m

mefest in Qt
Костя Мальованик
Ну тогда что получается. 1) У меня есть приложение без Qt  и  2) UI приложение на Qt.  Что бы запустить в  1 приложении Qt приложуху в отдельном процессе, я использую средства WinAPI(если брать винду). Что бы общаться в 2 стороны в qt  использую Qprocess так ??
Нет. Общаться ты не сможешь так. Я даже не уверен в qprocess без qt
источник

AU

Abu Umar in Qt
Подскажите в каких случаях использования Q_DECLARE_METATYPE(Type) может быть недостаточно, ума не приложу почему в некоторых qt ругается что тип не зарегистрирован, хотя он объявлен как метатип. Смотрю moc файлы, в некоторых случаях moc сам вставляет вызов qRegisterMetaType а вот в некоторых нет
источник

м

мыши in Qt
Abu Umar
Подскажите в каких случаях использования Q_DECLARE_METATYPE(Type) может быть недостаточно, ума не приложу почему в некоторых qt ругается что тип не зарегистрирован, хотя он объявлен как метатип. Смотрю moc файлы, в некоторых случаях moc сам вставляет вызов qRegisterMetaType а вот в некоторых нет
кто ругается, компилятор ?
источник