Jestem zdezorientowany modułami Qt QML. Czytałem wszystkie dokumenty, ale nie wyjaśnia to kilku podstawowych idei.Moduł Qt5 QML nie jest zainstalowany
Rozumiem, że mogę umieścić kilka plików QML w katalogu i dodać plik qmldir do opisania zidentyfikowanego modułu. Kiedy to robię i dostosowuję QML_IMPORT_PATH, QtCreator jest szczęśliwy i przestaje podkreślać linię importu ModuleName 1.0.
Twórca jest zadowolony, ale nie działa. Otrzymuję moduł nie jest zainstalowany. Moje pytania to:
- co to znaczy "zainstalowany". Mam katalog plików, ale nie "zainstalowałem" ich nigdzie.
- Czy powinienem budować/kompilować moduł, aby utworzyć bibliotekę DLL/.so?
- czy moduły plików QML trafiają do zasobów głównej aplikacji, w przeciwnym razie, gdzie można je znaleźć?
- mój plik main.qml jest częścią zasobów aplikacji, w jaki sposób aplikacja lokalizuje zasoby modułu w środowisku wykonawczym.
Przepraszamy za wszystkie te pytania, ale podstawy tych modułów są po prostu niejasne. Nie rozumiem, czy "moduł" to tylko udostępnianie plików lub jest to skompilowana jednostka.
dzięki za pomoc.
Dzięki za wyjaśnienia, ale jestem nadal głównie w ciemności. Zorientowałem się, że jeśli ustawię 'addImportPath' na ścieżkę * absolute *, to działa. Ale chcę, aby wspomniany QML był lokalny dla projektu. względne ścieżki kończą się niepowodzeniem, ponieważ nie działają z powstałego katalogu kompilacji. Zrozumiałem również, jak skompilować moduł + jego zasoby do biblioteki DLL. Ale nie mam pojęcia, jak załadować tę bibliotekę DLL.umieszczenie go w ścieżce importu nie działa, ponieważ, myślę, że DLL potrzebuje qmldir. Biblioteka DLL zarejestruje typy w niej, ale będzie to wymagało najpierw załadowania. rodzaj kurczaka i jajka? –
Wystarczy podać qmldir dla wtyczki DLL, ma ona około 3 wiersze, umieścić qmldir obok wtyczki, umieścić wszystko w folderze o odpowiedniej nazwie, jak stwierdziłem w odpowiedzi, i umieścić folder obok pliku wykonywalnego . To powinno działać. Czy próbowałeś tego? – rightaway717
Dziękuję. Po długiej drodze i wielu poszukiwaniach to bardzo pomaga! – Malachi