2013-08-26 10 views
5

Kiedy używam Qt Creator do stworzenia projektu Qt Quick/QML, dodaje on plik DEPADRAKTU do pliku .pro. Mogę użyć tej dyrektywy, aby skopiować/skopiować foldery/pliki do katalogu kompilacji podczas budowania (kompilacji) aplikacji.Jak używać dyrektywy DEPLOYMENTFOLDERS w aplikacji opartej na Qt Widget

Jak mogę tego użyć w prostej aplikacji opartej na widgetach Qt?

Qt Creator nie dodaje go do prostego projektu Qt i kiedy ręcznie to zrobię, to nie działa.

To jest mój plik projektu:

folder_01.source = sounds 
#folder_01.target = 
DEPLOYMENTFOLDERS += folder_01 

QT += core gui widgets 
TARGET = myApp 
TEMPLATE = app 
SOURCES += main.cpp 

Próbowałem "/ dźwięki" i "dźwięki/*" i uważa, że ​​tak. Ale nic nie działa. Czego tu mi brakuje?

Odpowiedz

1

Właśnie przejrzałem dokumentację (dla 4.8 & 5.x) i nie ma dokumentacji dla tej zmiennej w sekcji qmake, więc wygląda na to, że jest to wyłącznie dla qml. Jeśli próbujesz skompilować zasoby w zwykły sposób, użyj pliku qrc, aby określić zasoby, nie wiesz, dlaczego Qt zdecydowało się zmienić tylko na DEPLOYMENTFOLDERS dla qml.

+0

Dla uproszczenia używam QSound (wiem, że to jest przestarzałe). QSound nie może załadować z osadzonych zasobów (wiem, że to głupie). Pomyślałem, że fajnie jest skopiować folder automatycznie do katalogu kompilacji. – HWende

4

Badałem to i natknąłem się na to pytanie bez odpowiedzi.

Zasadniczo zalecam korzystanie z systemu zasobów, ale kiedy robisz szybki rozwój UI (qml), oczekiwanie na skompilowanie pliku Resource może być irytujące, więc chciałem po prostu skopiować te pliki.

To, co jest tutaj mylące, to źródło/cel to trochę inne rzeczy. Najlepszym sposobem, aby to opisać jest copy this -> this root w przeciwieństwie do copy this -> here

Mój build prostu chce moje zasoby „raw” na ścieżce więc jestem kopiowanie folder->/ Oto przykład z pliku projektu mam:

folder_qml.source = qml 
folder_qml.target =/
folder_js.source = js 
folder_js.target =/
folder_img.source = img 
folder_img.target =/
DEPLOYMENTFOLDERS += folder_qml folder_js folder_img 

Podczas tworzenia można sprawdzić dane wyjściowe:

10:41:57: Starting: "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" 
C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug 
mingw32-make[1]: Entering directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug' 
Copying application data... 
60 File(s) copied 
12 File(s) copied 
6 File(s) copied 
mingw32-make[1]: Leaving directory 'C:/Development/Subversion/MyBuild-Desktop_Qt_5_2_1_MinGW_32bit-Debug' 
Copying application data... 
60 File(s) copied 
12 File(s) copied 
6 File(s) copied 
10:41:58: The process "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally. 

Powstały build wygląda tak:

/Build dir/ 
    + release 
    + debug 
    + qml 
    + js 
    + img 
    Makefile.Release 
    Makefile.Debug 
    Makefile 

Mam nadzieję, że pomoże to w odpowiedzi na twoje pytanie. Nie znalazłem żadnej dokumentacji, więc po prostu bawiłem się nim, dopóki nie zadziałało. (Jest bardzo pomocny przy próbnych danych do testów).

Powiązane problemy