Диалоговое окно прогресса QProgressDialog
Здравствуйте.
Хочу отобразить прогресс вычисления, проводящихся в многопоточном режиме. Но при работе программа вылетает. Скажите пожалуйста, как исправить?
for (double i=d1;i<=d2;i=i+d3) //задание значений стратегии { Perebor.append(i); } QProgressDialog* ProgresMulti = new QProgressDialog("Просчет стратегий...", "&Cancel", 0, Perebor.size()); ProgresMulti->setMinimumDuration(0); ProgresMulti->setWindowTitle("Прогресc"); QLibrary MyLib("C:\\Qt\\project\\build-StrategyCod-Desktop_Qt_5_9_2_MinGW_32bit-Debug\\debug\\StrategyCod"); //путь к библиотеке MyLib.unload();//отключение библиотеки MyLib.load();//чтение typedef void (*MyPrototype)(double,MainWindow *); MyPrototype StrategyCod = (MyPrototype) MyLib.resolve("StrategyCod"); QFuture<void> Perebor2 = QtConcurrent::map(Perebor,[=](const double& d){ StrategyCod(d,this); ProgresMulti->setValue((d*Perebor.size())/(Perebor.end()-Perebor.begin())) ; //qApp->processEvents(); if (ProgresMulti->wasCanceled()) { //break; } });
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
d
- dsfs
- 26 апреля 2024 г. 14:56
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
d
- dsfs
- 26 апреля 2024 г. 14:35
C++ - Тест 001. Первая программа и типы данных
- Результат:73баллов,
- Очки рейтинга1
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 12:50
EVA25 декабря 2023 г. 21:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
Evgenii Legotckoi3 мая 2024 г. 0:07
IscanderChe30 апреля 2024 г. 14:22
Павел Дорофеев14 апреля 2024 г. 12:35
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
но оно не компилируется
Еще думал это сделать с помощью ProgressBar
Да скорее всего небезопасная конкуренция с доступом к объекту. Насчёт ошибок, потом гляну, что там с шаблонными аргументами, возможно что-то и забыл.
Спасибо, буду ждать.
Вот рабочий пример
При таком варианте скорость расчетов резко падает и прогоняется несколько раз одно и тоже.