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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запуск приложений с папки  (Прочитано 4027 раз)
blood_shadow
Гость
« : Июль 28, 2010, 20:45 »

1. Статически собрал проект(написанный с использованием Qt), который лежит в папке под названием "New1" с 2-мя текстовыми файлами и еще одним exe-шником(который написан на чистом C++). Схема работы всего общего проекта выглядит так: проект написаний с использованием Qt запускает exe-шник который использует 2 текстовых файла для ввода-вывода. Вопрос состоит в следующем - как в Qt указать относительный адрес exe-шника(чтобы искало в папке "New1"  в которой весь проект), а не абсолютный как у меня сделано:
Код:
QString program = "C:\\Program_Files\\Qt\\2010.02\\files\\Gui\\string_val\\val1\\String_v.exe";
    QProcess *process = new QProcess;
    processPointer = process;
    process->start(program);

и как прописать тоже самое для exe-шника, только на чистом С++, вместо этого что есть:
Код:
//open text_file for reading
       ifstream in("C:\\String_v\\input.txt", ios::in | ios::binary);
       //open text_file for writing
       fstream out("C:\\String_v\\output.txt", ios::out | ios::in | ios::trunc | ios::binary);

2. Извиняюсь за глупый вопрос, я так и не понял зачем в Qt подключать файлы ресурсов, просто так чтоб было? или есть какие-то весомые причины?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июль 28, 2010, 20:55 »

>>как в Qt указать относительный адрес?
также как и не в Qt. Просто пиши относительный путь и всё
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Июль 28, 2010, 20:56 »

>> я так и не понял зачем в Qt подключать файлы ресурсов
чтобы их использовать, больше их незачем подключать
Записан

Юра.
Amigo_sa
Гость
« Ответ #3 : Июль 28, 2010, 21:01 »

1. В классе QCoreApplication есть статический метод applicationDirPath, далее если вам известна структура ваших проектов, можно легко найти путь к другой программе.
В программе, не использующей Qt для каждой платформы доступны свои решения для поиска текущей директории.
Например, для винды.
Код:
#include <windows.h>

....
char path[50];
::GetCurrentDirectory(50,path);
2. Файлы ресурсов позволяют вам объединить кучу разных файлов, картинок, анимации в единое пространство имен. Приложению легче адресовать ресурсы, без использования абсолютного пути к файлам. Разумеется, многим программам ресурсы не нужны, но мастер по умолчанию создает файлы ресурсов. 
Записан
blood_shadow
Гость
« Ответ #4 : Июль 28, 2010, 23:12 »

1. В классе QCoreApplication есть статический метод applicationDirPath, далее если вам известна структура ваших проектов, можно легко найти путь к другой программе.
В программе, не использующей Qt для каждой платформы доступны свои решения для поиска текущей директории.
Например, для винды.
Код:
#include <windows.h>

....
char path[50];
::GetCurrentDirectory(50,path);

2. Файлы ресурсов позволяют вам объединить кучу разных файлов, картинок, анимации в единое пространство имен. Приложению легче адресовать ресурсы, без использования абсолютного пути к файлам. Разумеется, многим программам ресурсы не нужны, но мастер по умолчанию создает файлы ресурсов. 

1. Огромное спасибо, очень помогло, а главное + к моему опыту  Улыбающийся
2. Насчет ресурсов вы имеете ввиду эту запись <file alias="cut-img.png">images/cut.png</file> ?
Записан
Amigo_sa
Гость
« Ответ #5 : Июль 29, 2010, 10:07 »

2. Ну да. Вы привели запись об некотором ресурсе, однако эта запись принадлежит своему пространству имен
Код:
<qresource prefix="/icons"> ...
, что позволяет поддерживать порядок с ресурсами.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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