Название: модальный диалог Отправлено: Garfild от Февраль 27, 2010, 13:44 А может ли модальный диалог не иметь кнопок "OK" и "отмена", к которым привязываются соответственно слоты "accept" и "reject"?
У меня вот просто в конструкторе выполняется последовательность действий и если все нормально,то вконце вызывается QDialog::accept(); и диалог соответственно закрывается...только вот при вызове такого диалога,он отрабатывает все что мне нужно,но не закрывается...такое ощущение,что "accept" должно обязательно к кнопке привязываться, а не вызываться в конструкторе Название: Re: модальный диалог Отправлено: voronElf от Февраль 27, 2010, 14:15 к кнопке привязывать необязательно, кнопок может и не быть (хотя не очень себе представляю, для чего диалог без кнопок закрытия)
Дело в другом. Конструктор имеется ввиду конструктор диалога ? Тогда жесть. диалог сначала создается (конструктор) но просто лежит в памяти. Чтобы показать диалог, нужно вызвать exec(). А вот после этого иммет смысл accept() или reject(). Зачем вызывать accept в конструкторе ? Название: Re: модальный диалог Отправлено: Akaiten от Февраль 27, 2010, 14:18 А может ли модальный диалог не иметь кнопок "OK" и "отмена", к которым привязываются соответственно слоты "accept" и "reject"? может, обычно тогда accept() или reject(), или подобные им методы вызываются из кода::) Название: Re: модальный диалог Отправлено: Garfild от Февраль 28, 2010, 14:08 Спасибо за отоветы...Эт действительно конечно парадокс - модальный диалог без взаимодействия с пользователем )))..
Я просто хотел вынести в отдельный класс процесс копирования таблиц...и если копирование прошло нормально ProgressBar бы закрылся(т.е. вызвался бы метод accept) и вывелось соответственное сообщение в главной форме. А если произошли проблемы при копировании, то ProgressBar не стал бы закрываться,показывая процент выполнения (т.е. вызвался бы метод reject) Но сейчас думаю,что этонаверное глупая идея...нужно просто это сделать отдельной функцией в главном классе... Или вы можт чего-нить другое посоветуете ;) Название: Re: модальный диалог Отправлено: voronElf от Март 01, 2010, 08:57 Если задача в том, чтобы прогресс бар показывать, пока идет копирование, то посмотри в сторону QProgressDialog. Для быстрого действия там есть время задержки старта (minimumDuration) : если операция будет завершена быстрее этого времени, прогресс и не будет показан за ненадобностью.
ПС: не очень понятно, если копирование завершилось ошибочно, зачем прогресс показывать после. |