Size: a a a

2020 March 05

V

Volad Malevich in Qt
ХЕЛП!!!! У меня есть QStringsList с параметрами для запуска файла, например avconv.exe -i file.mov -o final_file.mp4, только таких комманд в QStringsList около 20-30.
В цикле один за одним запускаю выполнение этих команд через QProcess.
Есть задача разбить этот QStringsList из 20-30 строк на 2-6 шт. QStringsList-списков и запускать на выполнение параллельно, чтобы каждый список в цикле выполнялся. То есть нужно 2-6шт. QProcess одновременно, но чтобы ими можно было управлять/получать сигналы и т.д
Вопрос: как запустить N процессов параллельно без QTConcurrent::map (прироста производительности не увидел при использовании QTConcurrent::map) и при этом получать output и обновлять прогрессбар? (напомню имеем 2-6 шт. QStringsList, с одного всё просто)
Спасибо за ответы🙂
источник

m

mefest in Qt
Volad Malevich
ХЕЛП!!!! У меня есть QStringsList с параметрами для запуска файла, например avconv.exe -i file.mov -o final_file.mp4, только таких комманд в QStringsList около 20-30.
В цикле один за одним запускаю выполнение этих команд через QProcess.
Есть задача разбить этот QStringsList из 20-30 строк на 2-6 шт. QStringsList-списков и запускать на выполнение параллельно, чтобы каждый список в цикле выполнялся. То есть нужно 2-6шт. QProcess одновременно, но чтобы ими можно было управлять/получать сигналы и т.д
Вопрос: как запустить N процессов параллельно без QTConcurrent::map (прироста производительности не увидел при использовании QTConcurrent::map) и при этом получать output и обновлять прогрессбар? (напомню имеем 2-6 шт. QStringsList, с одного всё просто)
Спасибо за ответы🙂
QtCocurrent немного в другую степь.
запускаешь нужное число QProcess коннектишься к нужным сигналам каждого и обрабатываешь их
источник

V

Volad Malevich in Qt
mefest
QtCocurrent немного в другую степь.
запускаешь нужное число QProcess коннектишься к нужным сигналам каждого и обрабатываешь их
а как на одном прогрессбаре это выводить?
источник

V

Volad Malevich in Qt
как создавать объекты QProcess, если их колво может быть от 2 до 6?
источник

m

mefest in Qt
Volad Malevich
а как на одном прогрессбаре это выводить?
а что у тебя отображает прогресс бар?
источник

V

Volad Malevich in Qt
при одном QProcess беру QstringsList.count() и остаток списка использую для прогрессбара
источник

m

mefest in Qt
Volad Malevich
как создавать объекты QProcess, если их колво может быть от 2 до 6?
что значит от 2-6? рандомное чило? ты сохраняешь запущенные QProcess и смотришь их количество, от этого ты решаешь запускать новые процессы или нет
источник

V

Volad Malevich in Qt
mefest
что значит от 2-6? рандомное чило? ты сохраняешь запущенные QProcess и смотришь их количество, от этого ты решаешь запускать новые процессы или нет
не рандом, но задаётся QSpinBox при запуске
источник

m

mefest in Qt
Volad Malevich
не рандом, но задаётся QSpinBox при запуске
значит сравнивай число запущенных процесов со значением QSpinBox
источник

V

Volad Malevich in Qt
возьмём 20 команд и 4 параллельных процесса-> 5 команд на 1 процесс
а как на одном прогрессбаре выводить прогресс? 🤷‍♂️
источник

m

mefest in Qt
Volad Malevich
возьмём 20 команд и 4 параллельных процесса-> 5 команд на 1 процесс
а как на одном прогрессбаре выводить прогресс? 🤷‍♂️
наверное зависит от того сколько процессов отработало.
я не знаю деталей твоей работы
источник

m

mefest in Qt
Volad Malevich
при одном QProcess беру QstringsList.count() и остаток списка использую для прогрессбара
тут ты считаешь сколько осталось команд, а ниже пишешь, что е тебя все команды сразу распределяются между процессами, а значит и остатка не должно быть
источник

МВ

Макс Воробьев in Qt
Vladimir Nikiforov
Версии отличаются, можно как-то на проекте изменить?
можно. на вкладке "проекты"
источник

V

Volad Malevich in Qt
mefest
тут ты считаешь сколько осталось команд, а ниже пишешь, что е тебя все команды сразу распределяются между процессами, а значит и остатка не должно быть
я тут пишу как работает при ОДНОМ процессе. А как быть с прогрессбаром, если их 4?
источник

RG

Renat Garaev in Qt
Volad Malevich
я тут пишу как работает при ОДНОМ процессе. А как быть с прогрессбаром, если их 4?
Красить в разные цвета и раз в секунду менять их? (цвет)?
источник

m

mefest in Qt
Volad Malevich
я тут пишу как работает при ОДНОМ процессе. А как быть с прогрессбаром, если их 4?
как сделаешь так и будет_)  если тебе не дано ТЗ то ты вправе сам додумать реализацию
источник

V

Volad Malevich in Qt
Renat Garaev
Красить в разные цвета и раз в секунду менять их? (цвет)?
как их красить?
источник

FR

Felinor Rain in Qt
У меня такой вопрос: разве qml TableView с QtQuick.Controls 2.0 не работает, а работает только с первой версией?
источник

m

mefest in Qt
Felinor Rain
У меня такой вопрос: разве qml TableView с QtQuick.Controls 2.0 не работает, а работает только с первой версией?
да вроде должен TableView новый используешь?
источник

FR

Felinor Rain in Qt
1.4
источник