Russian Qt Forum

Qt => Общие вопросы => Тема начата: fear от Сентябрь 07, 2006, 17:29



Название: Возможно ли QProcessDialog использовать без таймера?
Отправлено: fear от Сентябрь 07, 2006, 17:29
Пробовал вот такой вариант. ProcessBar нормально работает, а кнопку "cancel" нажать невозможно.

Код:
void func()
{
  int counter = 0;
  QProgressDialog dialog;

  dialog.setValue(counter);
  dialog.show();

  for(int i=1; i<=100; i++)
  {
    //// Чтение из устройства

    dialog.setValue(i);
    if(dialog.wasCanceled()) return;
  }
}


Название: Возможно ли QProcessDialog использовать без таймера?
Отправлено: BaltikS от Сентябрь 07, 2006, 17:46
Всё просто поставь в цикле qApp->processEvents()


Название: Возможно ли QProcessDialog использовать без таймера?
Отправлено: Admin от Сентябрь 07, 2006, 18:08
если чтение из устройство идет долго то только QThread тебе поможет


Название: Возможно ли QProcessDialog использовать без таймера?
Отправлено: fear от Сентябрь 08, 2006, 16:47
Спасибо за помошь, обошёлся qApp->processEvents().


Название: Re: Возможно ли QProcessDialog использовать без таймера?
Отправлено: kolob от Ноябрь 26, 2010, 17:49
Подскажите, а кнопку cancel вообще можно убрать из QProcessDialog?


Название: Re: Возможно ли QProcessDialog использовать без таймера?
Отправлено: White Owl от Декабрь 03, 2010, 21:22
Да, конечно.

Цитировать
QProgressDialog::QProgressDialog ( const QString & labelText, const QString & cancelButtonText, int minimum, int maximum, QWidget * parent = 0, Qt::WindowFlags f = 0 )
Constructs a progress dialog.

The labelText is the text used to remind the user what is progressing.

The cancelButtonText is the text to display on the cancel button. If QString() is passed then no cancel button is shown.

The minimum and maximum is the number of steps in the operation for which this progress dialog shows progress. For example, if the operation is to examine 50 files, this value minimum value would be 0, and the maximum would be 50. Before examining the first file, call setValue(0). As each file is processed call setValue(1), setValue(2), etc., finally calling setValue(50) after examining the last file.

The parent argument is the dialog's parent widget. The parent, parent, and widget flags, f, are passed to the QDialog::QDialog() constructor.

See also setLabelText(), setLabel(), setCancelButtonText(), setCancelButton(), setMinimum(), and setMaximum().


Название: Re: Возможно ли QProcessDialog использовать без таймера?
Отправлено: kolob от Декабрь 04, 2010, 01:07
White Owl, спасибо. Буду знать. А то пришлось самому делать из QProgressBar.