Russian Qt Forum

Qt => Общие вопросы => Тема начата: masha от Май 06, 2009, 13:58



Название: QProcess?
Отправлено: masha от Май 06, 2009, 13:58
 Вот так запускается QT Designer:
   QProcess *program = new QProcess();
           program->start("designer");

 Почему вот так:
           program->start("AcroRd32");
не получается запустить акробата. Получается только так:
           program->start("C:/Program Files/Adobe/Reader 9.0/Reader/AcroRd32");

Откуда он знает путь к designer.exe, если его нет ни в PATH, и в реестре application/designer я поменяла имя напр. на ddesigner, всё равно работает ??



Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 14:00
QDTIR\bin есть в PATH?


Название: Re: QProcess?
Отправлено: pastor от Май 06, 2009, 14:06
Посмотри, что выдаст QProcess::systemEnvironment()


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 14:42
QDTIR\bin есть в PATH?

есть, я её сама туда прописывала для других целей, если удалить - всё равно работает!

Посмотри, что выдаст QProcess::systemEnvironment()

ОООчень длинную строчку выдала:

ALLUSERSPROFILE=C:\Documents and Settings\All UsersAPPDATA=C:\Documents and Settings\olga.NEWNIC\Application DataCommonProgramFiles=C:\Program Files\Common FilesCOMPUTERNAME=OLGAComSpec=C:\WINDOWS\system32\cmd.exeFP_NO_HOST_CHECK=NOframeworkdir=c:\windows\microsoft.net\framework\frameworksdkdir=HOMEDRIVE=C:HOMEPATH=\Documents and Settings\olga.NEWNICLOGONSERVER=\\SERVERMsVCDir=c:\program files\microsoft visual studio 9.0\NUMBER_OF_PROCESSORS=2OS=Windows_NTPATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSHPROCESSOR_ARCHITECTURE=x86PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 10, GenuineIntelPROCESSOR_LEVEL=15PROCESSOR_REVISION=040aProgramFiles=C:\Program FilesQTDIR=C:\Qt\4.4.3SESSIONNAME=ConsoleSystemDrive=C:SystemRoot=C:\WINDOWSTEMP=C:\TempTMP=C:\TempUSERDNSDOMAIN=NEWNIC.LOCALUSERDOMAIN=NEWNICUSERNAME=olgaUSERPROFILE=C:\Documents and Settings\olga.NEWNICVCInstallDir=c:\program files\microsoft visual studio 9.0\vc\VisualStudioDir=C:\Documents and Settings\olga.NEWNIC\Мои документы\Visual Studio 2008VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\VSInstallDir=c:\program files\microsoft visual studio 9.0\WecVersionForRosebud.4D8=2windir=C:\WINDOWS_ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\ATLProv.dll_ACP_INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\include;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;E:\Projects_ACP_LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\i386;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;C:\Program Files\Microsoft Visual Studio 9.0\;C:\Program Files\Microsoft Visual Studio 9.0\lib_ACP_PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\tools;C:\Program Files\Microsoft Visual Studio 9.0\Common7\ide;C:\Program Files\HTML Help Workshop;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\;C:\WINDOWS\SysWow64;C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\doxygen\bin;C:\Program Files\CMake 2.6\bin;C:\Qt\4.4.3\binPATH=C:\Qt\4.4.3\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\doxygen\bin;C:\Program Files\CMake 2.6\bin;C:\Qt\4.4.3\bin;C:\Program Files\Microsoft Visual Studio 9.0\;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 14:44
QDTIR\bin есть в PATH?

есть, я её сама туда прописывала для других целей, если удалить - всё равно работает!
перегрузись и не будет работать :)


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 15:04
QDTIR\bin есть в PATH?

есть, я её сама туда прописывала для других целей, если удалить - всё равно работает!
перегрузись и не будет работать :)

Перезагрузила - всё равно РАБОТАЕТ! А вот прописала PATH до акробата и после перезагрузки - заработало!
Спасибо! На этом в принципе могу успокоиться.


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 15:07
а что собственно нужно было сделать, если открыть вайл акробатом, то лучше юзать
QDesktopServices::openUrl.


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 15:44
а что собственно нужно было сделать, если открыть вайл акробатом, то лучше юзать
QDesktopServices::openUrl.

чё-то openUrl() у меня сразу не пошел:
    //QUrl url("C:/Program Files/Adobe/Reader 9.0/Reader.AcroRd32.exe");
   QUrl url("E:/Отчеты/file.pdf");
   QDesktopServices::openUrl(url);

во-вторых: в QProcess хотелось просто написать "AcroRd32", а он не видит (только полный путь).

и главное: откуда же он видит "designer" ?
вот и всё  :-\


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 15:46
чё-то openUrl() у меня сразу не пошел:
    //QUrl url("C:/Program Files/Adobe/Reader 9.0/Reader.AcroRd32.exe");
   QUrl url("E:/Отчеты/file.pdf");
   QDesktopServices::openUrl(url);
ну пример не совсем корректный.
попробуй так
Код
C++ (Qt)
QDesktopServices::openUrl(QUrl::fromLocalFile("E:/Отчеты/file.pdf"));
 


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 15:47
и главное: откуда же он видит "designer" ?
вот и всё  :-\
путь к дизайнеру у тебя в переменных судя по твоему логу
Цитировать
...C:\Qt\4.4.3\binPATH=C:\Qt\4.4.3\bin;...


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 16:00

ну пример не совсем корректный.
попробуй так
Код
C++ (Qt)
QDesktopServices::openUrl(QUrl::fromLocalFile("E:/Отчеты/file.pdf"));
 

И правда проще, спасибо!

и главное: откуда же он видит "designer" ?
вот и всё  :-\
путь к дизайнеру у тебя в переменных судя по твоему логу

Да он работал ещё за долго до того, как я этот путь туда прописала.
К тому же:

QDTIR\bin есть в PATH?

есть, я её сама туда прописывала для других целей, если удалить - всё равно работает!
перегрузись и не будет работать :)

Перезагрузила - всё равно РАБОТАЕТ!


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 16:10
в общем проверил у себя вызвать Qt Designer, пути к QTDIR\bin у меня не установлены.
Qt Designer не запускается.


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 16:17
в общем проверил у себя вызвать Qt Designer, пути к QTDIR\bin у меня не установлены.
Qt Designer не запускается.

круто... :o ну и черт с ним!


Название: Re: QProcess?
Отправлено: Alex Custov от Май 06, 2009, 16:21
Насколько я помню, там может быть прописан и системный и пользовательский PATH. Если ты убрала из системного, то в пользовательском могло остаться.


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 16:45
Насколько я помню, там может быть прописан и системный и пользовательский PATH. Если ты убрала из системного, то в пользовательском могло остаться.

В системном тоже нету  :P:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\doxygen\bin


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 16:47
а что
Цитировать
echo %PATH%
выдает?


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 17:43
а что
Цитировать
echo %PATH%
выдает?

Простите, не поняла?

Я знаю тольк одно место для PATH: мой компьютер->свойства->дополнительно->переменные среды->переменные пользователя/системные переменные. Там я убрала QTDir/bin (там этого раньше и не было), перезагрузила комп, а при systemEnvironment() он попрежнему вставляет:
... PATH=C:\Qt\4.4.3\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem; ...
где-то ж он этот путь берёт, может всё-таки в реестре?


Название: Re: QProcess?
Отправлено: spirit от Май 06, 2009, 17:45
нажми winkey+r, затем в появившемся окне набери cmd, в открывшемся окне введи echo %PATH%.


Название: Re: QProcess?
Отправлено: masha от Май 06, 2009, 18:03

Нет, не выдает. Только то, что действительно есть в PATH и Path.