МихаилллНаурыз 13, 2020, 10:41 Т.Ж.
Как в qt запустить скрипт php
Добрый день.
У меня есть пара скриптов на php, их можно запускать из компндной строки и они выводят в командную строку текст
Можно-ли в qt эмитировать командную строку, запускать скрипты и получать текст?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
Г
- Геній
- Қыр. 13, 2024, 12:46 Т.Қ.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:66ұпай,
- Бағалау ұпайлары-1
t
- torgaev_2024
- Қыр. 8, 2024, 6:20 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:33ұпай,
- Бағалау ұпайлары-10
Соңғы пікірлер
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
Linux жүйесінде файлдарды қалай көшіруге болады Screenshot_20240802-065123.png
Влад РусоковТам. 2, 2024, 1:47 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Енді форумда талқылаңыз
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTМаусым 25, 2024, 1 Т.Ж.
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Добрый день.
Команды можно выполнять через QProcess, посмотрите эту статью
Сделал как у Вас, но не работает.
Получаю такую ошибку
А если просто команда, то получаю ошибку:
Скажите пожалуйста, что не так?
Это не моя статья, а другого пользователя. А вообще нужно дождаться выполнения предыдущего процесса, прежде чем выполнять следующий.
Пробовал запускать один процесс, предворительно расположив скрипты в папке с билдом. Получаю всё туже ошибку:
Выглядит так, что у вас QProcess объект был разрушен раньше, чем скрипт выполнился, выглядит так, что вы не дожидаетесь выполнения php скрипта, но уже успеваете уничтожить объект ParserApi. Нужно логику переписывать. QProcess имеет сигнал о изменении статуса выполнения, от них и нужно отталкиваться.
Там есть еще сигнал &QProcess::finished , но их 2 (перегруженный), как его привязать?
Такая запись выдает ошибку no matching member function for call to 'connect'
Используйте QOverload
Странно, у меня не находится #include "QOverload" и поиск не выдает такого класса у qt
Он находится в global заголовочном файле, достаточно написать #include <QObject>
По аналогии с Ваши написал так
но получаю ошибки:
::of(
)'
::of(&QProcess::finished), this, QOverload
::of(&ParserApi::replyCheckFines));
::of(void (ParserApi::*)())'
::of(&QProcess::finished), this, QOverload
::of(&ParserApi::replyCheckFines));
ошибка: no matching function for call to 'QOverload
connect(process, QOverload
ошибка: no matching function for call to 'QOverload
connect(process, QOverload
^
^
Во первых, зачем в шаблонном аргументе QProcess ? В статье такого не было.
Во вторых какая сигнатура у метода ParserApi::replyCheckFines ?
Взял пример из документации с лямбдой
Теперь программа не вылетает, но все еще выдает туже ошибку, а дебаг возращает "".
Что же не так?
В линуксе получаются те-же ошибки
Но вот так работает process->start("notepad");
А сейчас и process->start("notepad"); перестало работать, похоже этот класс создает какой-то поток, который не закрывается с закрытием программы. Не работает даже после перезагрузки. Что-же с этим делать?
Не работало, потому что объект класса уничтожался после закрытия конструктора.
Когда сделал так, все заработало
Ну вот, как и говорил выше ссылка на сообщение