Russian Qt Forum
Ноябрь 23, 2024, 08:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: странное поведение QProgressBar  (Прочитано 2516 раз)
Senia_Bezrubashkin
Гость
« : Сентябрь 19, 2013, 01:21 »

Кликаю по директории появляется прогрессбар, отрабатывает нормально (прогрессбар по окончании операции исчезает). Если кликнуть еще раз до того как отработает первый появляется второй прогрессбар... ну, и т. д. вот только они уже не исчезают. Что не так делаю?
Заранее спасибо.

Код:
void Widget::slotFind(const QModelIndex &index)
{
    pb = new QProgressBar(spl_2);
    pb->setRange(0, 0);
    start(QDir(model->filePath(index))); // рекурсивный метод
    pb->setVisible(false);
}
« Последнее редактирование: Сентябрь 19, 2013, 01:25 от Senia_Bezrubashkin » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Сентябрь 19, 2013, 02:27 »

исчезать будет только самый верхний потому что в последней строчке метода pb уже указывает на новый прогрессбар, а старый потерялся.

либо добавляй новый прогрессбар под текущим либо не разрешай жать на кнопку пока текущая операция не закончится.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Senia_Bezrubashkin
Гость
« Ответ #2 : Сентябрь 19, 2013, 09:37 »

Понятно... и еще один вопрос. Метод start() проходится по файловой системе от кликнутой директории. Является ли такое действие операцией с неопределенным временем выполнения или я ошибаюсь (ну, чтобы процентики в прогрессбаре отобразить)? Объем по которому метод пройдется на компе физически присутствует и значит его заранее можно определить, но так наверное делать не стоит. В общем проясните пожалуйста ситуацию кто знает.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Сентябрь 19, 2013, 11:17 »

неопределенное время. для подсчета суммарного размера тебе (или системе) придется точно так же опрашивать каждый файл.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.