Название: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 04, 2013, 14:58 Здравствуйте.
Помогите, пожалуйста, решить вопрос. При открытии диалога QFileDialog, сначала идет обращение к флопику, а затем открывается окно диалога. Из-за этого каждый раз имеем задержку в несколько секунд с подвисшим окном во время попытки чтения FDD. Код: Код: QDir curDir; Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: kambala от Август 04, 2013, 17:54 если чтение с дискеты выполняется в конструкторе диалога, например выполняй чтение после появления диалога:
Код и можно показать какой-нибудь индикатор прогресса Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 04, 2013, 18:04 если чтение с дискеты выполняется в конструкторе диалога, например выполняй чтение после появления диалога: Чтение конкретно с дискеты не планируется. Задача: отключить обращение к дисководу при загрузке окна. По поводу конструткора диалога, код приведен полностью - в конструкторе ничего не читается.++ Попробовал применить вызов другого конструктора: QDir curDir; QString criPath = curDir.absolutePath(); criPath += "/base"; QFileDialog dialog(this, "", criPath, "*.cri"); Здесь явно указываю папку откуда открывать: D:/Programms/ ... Но все равно пробует читать дискету. Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: kambala от Август 04, 2013, 18:43 ааааа, это прикол винды этот… а без создания объекта QDir разве нельзя обойтись? например qApp->applicationDirPath() + "/base"
Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 04, 2013, 18:48 Немного разобрался. Переписал открытие фалйа по примерам из Qt.
Делаю так, код: Код: QDir curDir; ааааа, это прикол винды этот… а без создания объекта QDir разве нельзя обойтись? например qApp->applicationDirPath() + "/base" Попробую разобраться ).Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 04, 2013, 19:02 например qApp->applicationDirPath() + "/base" Тот же прикол. Если пытаюсь открыть файл ниже, чем .exe - происходит обращение к флопику.Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: Bepec от Август 04, 2013, 19:15 Правильное поведение винды. Проверяет доступность всех дисков :P
Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 04, 2013, 19:22 Правильное поведение винды. Проверяет доступность всех дисков :P Должен быть способ отменить проверку. Во многих программах диск не "тревожится" при открытии/записи файлов.Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: Majestio от Август 04, 2013, 20:01 Правильное поведение винды. Проверяет доступность всех дисков :P Но неправильное (https://bugreports.qt-project.org/browse/QTBUG-1892) поведение Qt :P Нельзя так жестоко обижать программеров! Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 05, 2013, 00:29 Люди, никто что ли не использовал QFileDialog в своих проектах и не сталкивался с этим вопросом?
Забыл указать. Версия Qt: 4.8.3 Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: kamre от Август 05, 2013, 01:48 Люди, никто что ли не использовал QFileDialog в своих проектах и не сталкивался с этим вопросом? Скорее всего никто не пользуется флоппиками, да и cd/dvd уже тоже. Так что это какая-то экзотическая проблема.Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 05, 2013, 01:58 Люди, никто что ли не использовал QFileDialog в своих проектах и не сталкивался с этим вопросом? Скорее всего никто не пользуется флоппиками, да и cd/dvd уже тоже. Так что это какая-то экзотическая проблема.Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: Bepec от Август 05, 2013, 07:14 Йеп. Именно.
Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: AlekseyDL от Август 05, 2013, 12:26 Все же разобрался ).
Код: Код: QString fileName = QFileDialog::getOpenFileName(this,tr("Open files"), "./base",tr("My files (*.cri)")); *** + В примере используется стандартный диалог. Если использовать нестандартный (QFileDialog::DontUseNativeDialog) - та же история. Название: Re: Как запретить QFileDialog обращаться к флопику при открытии окна? Отправлено: panAlexey от Август 06, 2013, 16:28 Все же разобрался ). Код: Код: QString fileName = QFileDialog::getOpenFileName(this,tr("Open files"), "./base",tr("My files (*.cri)")); *** + В примере используется стандартный диалог. Если использовать нестандартный (QFileDialog::DontUseNativeDialog) - та же история. надо сказать разработчикам калигры - она запарила флопарем стучать... |