Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Добавление существующих файлов в проект

Автор: epishev 24.5.2011, 10:50

Всем привет!

Как в проект добавить файл? Задача такая — нужно обращаться к файлу только по имени

QFile file(“tools.xml”);


Добавил в проект файл tools.xml (ПК мыши по проекту ->Добавить существующие файлы...), лежащий в подкаталоге проекта, но мне все равно приходится писать полный путь к файлу.

Заранее спасибо!

Автор: Алексей1153 24.5.2011, 10:55

"../имя_подкаталога/tools.xml"

ну и сам файл в проект тоже надо включить

Автор: ernie 24.5.2011, 10:55

можно через QApplication::aplicationDirPath + /tools.xml

Автор: epishev 24.5.2011, 11:04

Цитата(Алексей1153 @ 24.5.2011, 11:55) *
"../имя_подкаталога/tools.xml"

ну и сам файл в проект тоже надо включить


пишу:

void NewProjectDialog::traverseNodeRun()
{
    QFile file("../NewProjectDialog/tools.xml");
    QDomDocument doc;
    if(file.open(QIODevice::ReadOnly))
    {
        if(doc.setContent(&file))
        {
            QDomElement domElement = doc.documentElement();
            connect(this,SIGNAL(signalTraverseNode(QDomNode)),
                    this,SLOT(traverseNode(QDomNode)));
            //вызов слота traverseNode(const QDomNode &node)
            emit signalTraverseNode(domElement);
        }
        file.close();
    }
}


в .pro
OTHER_FILES += \
    NewProjectDialog/tools.xml


Все равно не выполняется условие
 if(file.open(QIODevice::ReadOnly))

Автор: Алексей1153 24.5.2011, 11:09

epishev, извиняюсь, я почему то про инклуд подумал. Тут по другому, лучше весь путь указывать, действительно

Автор: epishev 24.5.2011, 11:17

Цитата(Алексей1153 @ 24.5.2011, 12:09) *
epishev, извиняюсь, я почему то про инклуд подумал. Тут по другому, лучше весь путь указывать, действительно

Получается нельзя сделать так, чтобы xml файл был частью проекта?

Автор: Алексей1153 24.5.2011, 11:31

epishev, можно положить подкаталог в ресурс *.qrc

RESOURCES += \
    ../подкаталог/ресурс.qrc \


файл ресурса (ресурс.qrc):
<RCC>
    <qresource prefix="/префикс_ресурсного_файла">
        <file>файл1</file>
        <file>файл2</file>
    </qresource>
</RCC>


потом доступ будет осуществляться так :

":/префикс_ресурсного_файла/файл"


в пути к файлу могут быть и подкаталоги

Автор: epishev 24.5.2011, 13:37

Цитата(Алексей1153 @ 24.5.2011, 12:31) *
epishev, можно положить подкаталог в ресурс *.qrc


То что надо, спасибо!

Автор: ernie 24.5.2011, 16:04


потом доступ будет осуществляться так :

":/префикс_ресурсного_файла/файл"

Можно еще проще сделать,в редакторе ресурсов присвоить псевдоним,тогда можно обращаться по ":псевдоним_ресурса"

Автор: Алексей1153 25.5.2011, 7:26

ernie, с псевдонимами лично я путался :) Ну, кому как

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)