Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: daimon от Мая 30, 2011, 22:22



Название: QDir русские буквы в пути [решено]
Отправлено: daimon от Мая 30, 2011, 22:22
Проблема русских путей, при проверке на существование каталога с русскими менами в пути выпадает отсутствие. Как заставить QDir понимать русские пути?


Название: Re: QDir русские буквы в пути
Отправлено: Авварон от Мая 30, 2011, 22:30
Как проверяете?


Название: Re: QDir русские буквы в пути
Отправлено: daimon от Мая 30, 2011, 22:43
Как проверяете?

Цитировать
CTranslateUtilRun util("C:/Documents and Settings/Dima/Мои документы/Visual Studio 2008/Projects/lupdateSolution/lupdateSolution", "fddfdf", ETU_LUPDATE);

первый параметр - строка для объекта QDir и проверяю потом

Цитировать
if(!dir.exists())
        {
           emit isErrorDir(true);
         

           return QStringList();
        }

это я так решил проверить, а на самом деле путь будет возвращать стандартный диалог по директориям


Название: Re: QDir русские буквы в пути
Отправлено: alexman от Мая 30, 2011, 22:48
Попробуй так:
Код:
CTranslateUtilRun util( QTextCodec::codecForLocale()->toUnicode( "C:/Documents and Settings/Dima/Мои документы/Visual Studio 2008/Projects/lupdateSolution/lupdateSolution" ), "fddfdf", ETU_LUPDATE);


Название: Re: QDir русские буквы в пути
Отправлено: daimon от Мая 30, 2011, 22:53
Попробуй так:
Код:
CTranslateUtilRun util( QTextCodec::codecForLocale()->toUnicode( "C:/Documents and Settings/Dima/Мои документы/Visual Studio 2008/Projects/lupdateSolution/lupdateSolution" ), "fddfdf", ETU_LUPDATE);
заработало!!!

так значит сразу после диалога выбора директории строку приводить к юникоду?


Название: Re: QDir русские буквы в пути
Отправлено: Авварон от Мая 30, 2011, 23:21
диалог возвращает строку уже в уникоде. у вас сорцы не в юникоде.