How will users add extra functionality in QML based plugin system?

  • I've got a small application where users may create their own plugins as QML-files.
    These plugins get notification upon certain events and their user-interfaces are displayed one-by-one in a TabView.

    Some plugins however need functionality which can't be provided via QML like writing to files.
    How would I enable my users to extend the functionality as they please?

  • Lifetime Qt Champion


    If you don't want them to write anything else than QML you'll have to provide them with you own set of QML extensions they can use to extend your application.

  • I do want them to write the other stuff too but I don't know how I'd enable them to do so.
    Can you point me in the right direction?

  • Lifetime Qt Champion

    Well, document your API, provide them with examples i.e. a mini SDK for your application. One thing that can be useful skeleton projects to create the plugins

  • Yes I will do that but my problem is a technical one.

    My users can already load their own QML-files but I have no clue myself how they can extend them with the functions they need (which aren't available via QML)
    My application is just a binary loading these QML files, providing some data for the plugins and showing it.

  • Lifetime Qt Champion

    Since they will need a library to link against, you have to separate your application in tow: library and main application. Your users will then link to that library, when they want to extend your application

Log in to reply