Skip to content

Simple unit-to-pixel implementation to simplify mobile development in QML and other

Notifications You must be signed in to change notification settings

it-s/qt-cpp-Units

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qt-cpp-Units

Simple unit-to-pixel implementation to simplify mobile development in QML and other

A small collection of lua functions split into cathegories. Each module is fully self-contained and does not depend on any external library.

##Adding you your [existing] project

  • Add the library to your git project. Clone it, or use it as a submodule:
  git submodule add [email protected]:it-s/qt-cpp-Units.git

##Initializing the module

  • Include it into your Qt project file:
  include(qt-cpp-Units/Units.pri)

##Using Units in your QML project

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>

#include "units.h"

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
#if (defined(Q_OS_ANDROID) || defined(Q_OS_IOS) || defined(Q_OS_WINPHONE))
  //If we are running under mobile we want to init system properly
  // Units(QSize currentResolution, QSize resolutionDesignedFor)
    engine.rootContext()->setContextProperty("U", new Units(qApp->screens().first()->size(), QSize(320,480)));
#else
  //If we are on desktop we just init a blank system
  //Scaler on blank system is always 1-to-1
    engine.rootContext()->setContextProperty("U", new Units());
#endif
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

And then in your QML files

Rectangle {
  x: U.px(15)
  y: U.px(15)
  width: U.px(320)
  height: U.px(200)
}

About

Simple unit-to-pixel implementation to simplify mobile development in QML and other

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published