Название: [РЕШЕНО] C:/Пользователи... -> C:/Users... Отправлено: Vamireh от Май 28, 2014, 17:50 Код: qDebug() << QFile::exists("C:/Пользователи/user/Рабочий стол/qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe"); Код: false Нужно ассоциировать свою программу с расширением файла. Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать? Название: Re: C:/Пользователи... -> C:/Users... Отправлено: gil9red от Май 28, 2014, 18:03 Получить путь к рабочему столу: qDebug() << QDesktopServices::storageLocation( QDesktopServices::DesktopLocation );
Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Vamireh от Май 28, 2014, 18:15 Это я знаю, но допустим пользователь захочет открыть файл из C:/Пользователи, C:/Пользователи/user/Загрузки и т.д. Как это учесть?
Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Hrundel от Май 28, 2014, 18:48 Эти два пути себя дублируют. Всегда пользуйся английским и ни ошибешься.
Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Bepec от Май 28, 2014, 18:50 Простой ответ - скорее всего у вас русскоязычные пути в неправильной кодировке :) А если пути не существует - всегда вернёт false.
Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Vamireh от Май 28, 2014, 19:41 Эти два пути себя дублируют. Всегда пользуйся английским и ни ошибешься. Моя программа ассоциирована с одним расширением файла. Если пользователь открывает файл из рабочего стола, то путь в программу приходит русскоязычный, который, соответственно, не открывается. Простой ответ - скорее всего у вас русскоязычные пути в неправильной кодировке :) А если пути не существует - всегда вернёт false. Да не, с русскими путями все путем работает. Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Alex Custov от Май 28, 2014, 20:30 Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать? То есть если ты щёлкаешь правой кнопкой по файлу и выбираешь "Открыть" или "Открыть с помощью", то твоей программе передаётся путь C:/Пользователи/... ? Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Vamireh от Май 28, 2014, 20:52 Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать? То есть если ты щёлкаешь правой кнопкой по файлу и выбираешь "Открыть" или "Открыть с помощью", то твоей программе передаётся путь C:/Пользователи/... ? Именно так. На работе так, только что проверил в VIrtualBox тоже на семерке - передается C:/Users... и все работает.... Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Bepec от Май 28, 2014, 21:50 По идее всё работать должно, завтра если руки дойдут посмотрю у себя. А мб и не посмотрю. :)
Название: Re: C:/Пользователи... -> C:/Users... Отправлено: Vamireh от Май 29, 2014, 06:42 Установил Windows с того же диска, что дома в виртуалке стоит. Все заработало. В смысле стал англоязычные пути передовать. Не знаю, что было, ту винду эникейщик ставил и понятия не имею где он ту сборку откопал.
Название: Re: [РЕШЕНО] C:/Пользователи... -> C:/Users... Отправлено: Bepec от Май 29, 2014, 06:49 Ну очень просто - локализация наверно вам мешала, выбранная при установке. Локализация создают символьные ссылки на выбранном языке.
Название: Re: [РЕШЕНО] C:/Пользователи... -> C:/Users... Отправлено: Alex Custov от Май 29, 2014, 12:15 Ну очень просто - локализация наверно вам мешала, выбранная при установке. Локализация создают символьные ссылки на выбранном языке. У меня тоже локализованная винда, пути нормальные английские. А самое интересное, что папки "Пользователи" не существует на диске вообще. Это какая-то виртуальная хрень от explorer-a, которая отображается только в нём. |