HI all

I think I have managed to solve this problem.

First, just to simplify things I created a new project TestLib of type "Libraries / QT Quick 2 Extension Plugin". I gave this the url "org.flyingsheep.testlib"

As this is a throwaway demo I made no change to the code.

Next I created a thowaway Sailfish QML project TestLibImport using the standard "Hello Sailors" template. The only change I made was to add "import org.flyingsheep.testlib 1.0"

This gave me a simple, pure Qt5 / Sailfish Silica testbed to play with.

Next I "installed" the library on the SDK and Emulator. Based on my experience with the Qt 4 Sailfish Alpha, I chose the install location as:

SDK: /usr/lib/qt5/imports
(this is available on the host via)
/Users/<your homedrive>/SailfishOSAlpha5/mersdk/targets/SailfishOS-i486-x86/usr/lib/qt5/imports

Emulator: /usr/lib/qt5/imports

Then I hit the QtCreator Compile and Run Button to run TestLibImports.

This gave the same error: 'module "org.flyingsheep.testlib" is not installed'.

So it seemed to me clear that I was installing in the wrong place.

Then it struck me: but the import to Sailfish.Silica works? So where are those files.

So I did a quick search for SilicaFlickable.qml on the Emulator:

find / -name SilicaFlickable.qml
/usr/lib/qt5/qml/Sailfish/Silica/SilicaFlickable.qml

So it looks like the install location should be /usr/lib/qt5/qml as opposed to /usr/lib/qt5/imports (or /usr/lib/qt4/imports on the old alpha).

And yes, if I install TestLib in /usr/lib/qt5/imports, then TestLibImport runs!

So the question is: Is /usr/lib/qt5/imports now the official correct place to install import libraries?

GrĂ¼sse

Chris


Zitat von Superpelican <superpeli...@zoho.com>:

Yes, that was indeed what I had read, I was just going to send the link to the mailinglist ;) Well I don't think I can help with a C++ plugin. I myself now just use a C++ class which is in the same project as the QML UI to interface with C++. That turned out to be easier,

Superpelican

On 08/03/2013 11:33 AM, christopher.l...@thurweb.ch wrote:
Hi Superpelican

you probably read that here:
https://qt-project.org/doc/qt-5.1/qtdoc/qtquick-porting-qt5.html#qml-plugins "Individual file imports no longer work (for example, import "MyType.qml"). Import the containing directory instead."

But what I am doing (trying to do) is different. I am importing a library.

The library contains a whole set of qml components, a C++ plugin defining types, a qmldir file and a plugins.qmltypes file.

A "standard" Qt4 equivalent is the nokia meego components which would be imported with "import com.nokia.meego 1.0"

Having done some more thinking myself, I now think the problem could be that the library itself must first be migrated to Qt5. In a hurry to get things working i had just copied across the old Qt4 version. In all probabilities it maybe in the right place but won't work on Qt5.

Thanks for the hint

Chris


Zitat von Superpelican <superpeli...@zoho.com>:

Hello,

I read on a wiki/docs page on qt-project.org yesterday that it isn't possible anymore to import a single .qml, where this was possible in Qt 4.8. Instead you now have to import the directory where the .qml is located in. I don't know on which page I read, but I can look it up when I'm behind my laptop again. It was one of the differences between Qt 4
4 and 5/porting to Qt5 pages though.

Hope this is helpful,

Superpelican

On Fri Aug   2 2013 11:39:46 PM CEST, christopher.l...@thurweb.ch wrote:

Hi All

Is there anything different about where Qt import packages should be
installed on the Qt5 Alpha Emulator?

By "import package" I mean the sort of thing that you import to a qml
file as follows

import org.flyingsheep.abstractui 1.0

In the old Qt 4.8.3 Alpha Emulator I installed my package in
/usr/lib/qt4/imports

On the new Qt 5 Alpha Emulator I have installed the package under
/usr/lib/qt5/imports

i.e. in the Qt5 imports directory rather than the Qt4 equivalent.

However when I try and run an app importing this package in QtCreator
I get the following error:

file:///opt/sdk/landedsettingsQt5_21/usr/share/landedsettingsQt5_21/main.qml:2:1: module "org.flyingsheep.abstractui" is not installed

Any ideas?

Chris


_______________________________________________
SailfishOS.org Devel mailing list









_______________________________________________
SailfishOS.org Devel mailing list

Reply via email to