Ошибка кодирования QFileDialog (Windows 7)

Когда я пытаюсь использовать стандартный файловый селектор:

QString fileName = QFileDialog::getOpenFileName(a.allWidgets().first(),
     "Open Image", "C:\\", "Image Files (*.png *.jpg *.bmp)");

появляется ошибка. Вижу вот такое сообщение (извините, на русском):

перевод первой строки "C:\Users\Василий\Desctop ссылается на недоступное место". Я думаю, что проблема в никнейме "Василий" (русские буквы), который нечетко написан на скриншоте. Пытался найти в гугле решение своей проблемы, но, к сожалению, не нашел. Помогите, пожалуйста.


person VasG    schedule 28.08.2012    source источник
comment
Вы указали C:\\ в качестве местоположения по умолчанию, но ошибка относится к C:\Users\Василий\Desktop - вы перешли к этому местоположению, или оно сразу туда попало?   -  person cmannett85    schedule 29.08.2012
comment
Ошибка появляется сразу же, как появляется файловый браузер. Я думаю, это потому, что в Windows 7 в левой колонке (в файловом браузере) есть ссылка на местоположение на рабочем столе.   -  person VasG    schedule 29.08.2012
comment
попробуй /home вместо C:\\   -  person Blood    schedule 30.08.2012


Ответы (1)


Недавно я столкнулся с той же проблемой. Похоже на какой-то баг в Qt, который вызывает эту ошибку, когда имя вашей домашней папки содержит нелатинские символы.

Примечательно, что если вы запустите свое приложение в режиме Release, оно будет работать нормально. Я надеюсь, что эта информация будет полезна для кого-то.

person EgorBr    schedule 08.02.2017