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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] C:/Пользователи... -> C:/Users...  (Прочитано 6545 раз)
Vamireh
Гость
« : Май 28, 2014, 17:50 »

Код:
qDebug() << QFile::exists("C:/Пользователи/user/Рабочий стол/qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe");
qDebug() << QFile::exists("C:/Users/user/Desktop/qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe");

Код:
false
true

Нужно ассоциировать свою программу с расширением файла. Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать?
« Последнее редактирование: Май 29, 2014, 06:43 от Vamireh » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Май 28, 2014, 18:03 »

Получить путь к рабочему столу: qDebug() << QDesktopServices::storageLocation( QDesktopServices::DesktopLocation );
Записан

Vamireh
Гость
« Ответ #2 : Май 28, 2014, 18:15 »

Это я знаю, но допустим пользователь захочет открыть файл из C:/Пользователи, C:/Пользователи/user/Загрузки и т.д. Как это учесть?
Записан
Hrundel
Гость
« Ответ #3 : Май 28, 2014, 18:48 »

Эти два пути себя дублируют. Всегда пользуйся английским и ни ошибешься.
Записан
Bepec
Гость
« Ответ #4 : Май 28, 2014, 18:50 »

Простой ответ - скорее всего у вас русскоязычные пути в неправильной кодировке Улыбающийся А если пути не существует - всегда вернёт false.
Записан
Vamireh
Гость
« Ответ #5 : Май 28, 2014, 19:41 »

Эти два пути себя дублируют. Всегда пользуйся английским и ни ошибешься.

Моя программа ассоциирована с одним расширением файла. Если пользователь открывает файл из рабочего стола, то путь в программу приходит русскоязычный, который, соответственно, не открывается.

Простой ответ - скорее всего у вас русскоязычные пути в неправильной кодировке Улыбающийся А если пути не существует - всегда вернёт false.

Да не, с русскими путями все путем работает.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Май 28, 2014, 20:30 »

Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать?

То есть если ты щёлкаешь правой кнопкой по файлу и выбираешь "Открыть" или "Открыть с помощью", то твоей программе передаётся путь C:/Пользователи/... ?
Записан
Vamireh
Гость
« Ответ #7 : Май 28, 2014, 20:52 »

Из-за выше описанного нюанса невозможно открыть файлы из рабочего стола. Есть ли готовое решение или самому конвертировать?

То есть если ты щёлкаешь правой кнопкой по файлу и выбираешь "Открыть" или "Открыть с помощью", то твоей программе передаётся путь C:/Пользователи/... ?

Именно так.

На работе так, только что проверил в VIrtualBox тоже на семерке - передается C:/Users... и все работает....
« Последнее редактирование: Май 28, 2014, 20:55 от Vamireh » Записан
Bepec
Гость
« Ответ #8 : Май 28, 2014, 21:50 »

По идее всё работать должно, завтра если руки дойдут посмотрю у себя. А мб и не посмотрю. Улыбающийся
Записан
Vamireh
Гость
« Ответ #9 : Май 29, 2014, 06:42 »

Установил Windows с того же диска, что дома в виртуалке стоит. Все заработало. В смысле стал англоязычные пути передовать. Не знаю, что было, ту винду эникейщик ставил и понятия не имею где он ту сборку откопал.
Записан
Bepec
Гость
« Ответ #10 : Май 29, 2014, 06:49 »

Ну очень просто - локализация наверно вам мешала, выбранная при установке. Локализация создают символьные ссылки на выбранном языке.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #11 : Май 29, 2014, 12:15 »

Ну очень просто - локализация наверно вам мешала, выбранная при установке. Локализация создают символьные ссылки на выбранном языке.

У меня тоже локализованная винда, пути нормальные английские. А самое интересное, что папки "Пользователи" не существует на диске вообще. Это какая-то виртуальная хрень от explorer-a, которая отображается только в нём.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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