Qt Japan Summit 2015 | Build Your World

Last month’s Qt Japan Summit 2015 offered insightful keynotes & several technical sessions focusing on the latest Qt features as well as amazing demos and customer stories from industries such as automotive, consumer electronics and automation.

We are happy that this year’s event was even larger than last year’s and we have our sponsors SRA, ISB, Adeneo Embedded, Wind River, PTP and the Japan Qt Users’ group to thank for that.

Whether you were able to attend the event or missed it, the presentation materials are available for your convenience.

View presentations: http://ift.tt/1BRd1So

Japan had a ‘Build your world with Qt’ theme, from talks to exhibitions, demos to anniversary celebrations, and you can relive the experience via the photos. If you came to the Qt Japan Summit, thank you again for visiting us!

QtJS Keynotes Collage

We celebrated the 20th anniversary of Qt with a birthday cake provided by the Japan Qt Users’ Group.

Qt JAPAN SUMMIT Breakout collage

Please contact qjs@theqtcompany.com for any questions & comments regarding the Qt Japan Summit.

The post Qt Japan Summit 2015 | Build Your World appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1Hr9nj1

Qt Bluetooth and its state of the union

Even though a lot of Qt use cases are about creating user interfaces, Qt provides a diverse set of middle-layer APIs for non-GUI functionality. One of the younger middle-layer APIs in Qt is Qt Bluetooth. From its first release in Qt 5.2 onwards, it has grown and improved in every Qt release.

In light of the forthcoming Qt 5.5 release, I’d like to tell you a bit more about the current status of Qt Bluetooth. It started out as a solution to interact with Bluetooth devices on Linux using Bluez 4.x. At the time, the supported feature set focused on classic Bluetooth development. It targeted the type of profiles and capabilities most commonly encountered by applications:

  • Local Device Control
  • Device & Service Discovery
  • OBEX Push
  • Serial Port Profile for Server & Client

Over time, the number of supported platforms was significantly expanded to cover Android (Qt 5.3), Bluez 5 (Qt 5.4) & OS X (Qt 5.5). Unfortunately, there are no API’s which would permit the implementation of the above features on iOS too.

One of the more recent feature additions is related to Bluetooth Low Energy and Internet of Things. What started as a Technology Preview in Qt 5.4 for Linux quickly became a very important subset of the Qt Bluetooth APIs. The recent explosion of available wearables, health and environment sensors requires Qt to be able to interact with such Bluetooth Smart enabled devices. Qt 5.5 takes this development into account and provides Bluetooth Low Energy support on all existing Qt Bluetooth platforms. In addition, Bluetooth Low Energy on iOS was added too.

Well, what’s missing? I guess my personal list is rather long and some of those items are less visible. Hopefully, we can close the gap towards the last major platform which is not yet supported. A WinRT port is being planned for Qt 5.6. On the Low Energy side of things, Qt Bluetooth should be able to run on Bluetooth Low Energy devices which offer their services to other devices (server role). Better scanning and advertising features, to interact for example with devices adhering to the iBeacon standard, are desirable too.

For the interested mind, the semi-official roadmap for the missing features is QTBUG-31674. I am interested in your feedback. Either drop a comment here or directly in Jira.

The post Qt Bluetooth and its state of the union appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1CDWCMk

Qt is coming to Red Hat Enterprise Linux!

For some time now it has been possible to compile and use Qt manually on the Red Hat Enterprise Linux platform, but with the later Qt 5 releases it hasn’t been as  straightforward due to the libraries and tools that come provided with Red Hat Enterprise Linux. Now with the release of Qt 5.5.0, there will be full and official support for Red Hat Enterprise Linux 6.6!

What this actually means is that Qt is tested on Red Hat Enterprise Linux 6.6 along with the other platforms that are CI tested (i.e Qt is regularly built and platform tests are run on a regular basis to try and prevent bugs from being introduced when a change is made), as indicated here http://ift.tt/1HfK8Qo.

In addition to the fact that Red Hat Enterprise Linux 6.6 is now tested much more thoroughly on a regular basis, there will also be a pre-built version of Qt for this platform. This will enable you to download Qt and install it without having to wait for the compilation to succeed. This also means less hassle with setting up all the dependencies and the like to get Qt built.

Since the same rules apply for earlier versions of Red Hat Enterprise Linux, as for any other Linux distribution, Qt will be usable on these platforms, too. As long as you can use a supported compiler version and the dependencies required for building Qt are also available then there is no problem with compiling and developing with Qt on the earlier versions. However, for simplicity and ease of use reasons, we recommend that you consider moving to Red Hat Enterprise Linux 6.6 when switching to Qt 5.5.0.

The post Qt is coming to Red Hat Enterprise Linux! appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1LB3Aqz

Qt 5.5 Release Candidate Available

I am happy to announce that Qt 5.5 Release Candidate is now available.

Please download and try it out – it is quite close to final release, and we very much value your feedback:

For those who have not yet checked what Qt 5.5 brings, please refer to the Qt 5.5 Beta blog post, the wiki article listing new Qt 5.5 features, or the documentation snapshot for more details.

Qt 5.5 Release Candidate is available via offline installers. Offline Installers are available from the Qt Account for commercial users of Qt. Open source users can download installers from download.qt.io.

The post Qt 5.5 Release Candidate Available appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1QLKGnu

Back home after Qt Contributors’ Summit 2015

It was a great weekend in Oslo, 5-7th June!

Over a hundred Qt contributors gathered right next door to The Qt Company offices to talk about the current state and future of Qt.

The Friday pre-event drew a good crowd, who met up at The Qt Company offices. As the weather was nice, we went out for a picnic in the nearby park. This set the feeling of Qt Contributors’ Summit well, as it is a gathering of a community

The program for the weekend contains the session notes. The topics ranged from the upcoming QtCreator UI style changes to long term support in Qt. Every session drew an active crowd and there were many discussions. Between every session there was time to talk in the hallways, a very important part of a good Qt Contributors’ Summit.

For those of you who were taking notes in sessions, if you haven’t yet, please go and update the notes for the session on the wiki. Also for at least the more technical sessions, please post the notes to the Development mailing list, so as to make sure people who need to see the notes really do see them.

3ChampionsMemorable things from this years summit include the strong attendance from Japan, three community members present. We also had  three of the current four Qt Champions present at the same time!

The Saturday evening event was held together with The Qt Company and local old trolls. The venue had a nice sunny balcony, and people enjoyed themselves after a long day of sessions.

QtCS roll upI want to thank everyone who made this Qt Contributors’ Summit a great event. Our sponsors; The Qt Company, Intel, Boundary Devices, ICS, Froglogic,KDAB, e-Gits and Pelagicore. And Aliz and Anca from The Qt Company offices were an invaluable help in the event practicalities.

But most of all, thank you to everyone who attended.

Hope to see you all in Berlin at the Qt World Summit!

The post Back home after Qt Contributors’ Summit 2015 appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1JSLn95

Play ball! Qt World Summit 2015 Registration Now Open!

We want you, our faithful blog reader, to be the first to get the goods on what’s happening at Qt World Summit. We are very excited to announce Qt’s most anticipated business and technology event will be returning to Berlin October 5-7. Registration is officially open!

The global event for all things Qt

This will be the 12th annual Qt event, so you can expect the same greatness you’ve experienced in the past, but now with a more unified and integrated approach covering business strategy and the code behind it.

Your ticket will get you 3 days of everything Qt, 75+ sessions, and 8 training options. We’re still working on all the conference details and the full content schedule, but whether you are a technology director, business decision maker, tech strategist, product manager, engineer or developer there is something here for you. You’ll experience all this with hundreds of your closest and smartest friends in the Qt community.

In addition to the exceptional learning opportunities, we’re planning some networking experiences that will knock your socks off.

World-Class Training from Diamond Sponsor, KDAB

Two days is just not enough to pack in all the great content we have in store for you! Why not join us a day early for one of 8 pre-conference training options from KDAB, spanning all topics from Qt fundamentals to advanced areas?

QtWS15 Welcomes Top Sponsors

We are very happy to have ICS as our Platinum sponsor. A huge thanks also to e-GITS and Froglogic as Gold sponsors, basysKom as Silver sponsor, and KDE Community as Partner. Together we will make Qt World Summit 2015 an event you won’t forget. Thinking about becoming a Qt World Summit sponsor? Please contact us.

Registration Now Open: Early Bird, Student Discount, Bring the Team Offer

Sign up now to get early bird pricing. It’s only available until July 13 and it’s the lowest possible price this year!

Are you currently enrolled in a college or university? Get your unique student discount code here.

There really is too much good stuff for one person to see. Take advantage of the Bring the Team Offer!

Tip: You probably already know that your investment of time and money in QtWS will pay for itself and then some. Need help convincing your manager? Download the justification e-mail, tailor it to fit your situation, then send it on for approval.

As you register for Qt World Summit 2015, don’t forget to share that you’re attending. The official event hashtag is #QtWS15, and you can follow the buzz on Facebook, Twitter, and LinkedIn. If conference registration opens and no one tweets about it, is it even a conference at all…? :-)

Look forward to connecting, and happy registering!

register_now

The post Play ball! Qt World Summit 2015 Registration Now Open! appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1QqSJGh

Qt World Summit 2015 | Come early and soak up even more!

We’re really getting into the exciting part of the Qt World Summit year as we push ahead on building out the agenda and selecting speakers so that you know well in advance everything you’re going to be able to experience next October. On qtworldsummit.com we’ve published the day-by-day agenda at a glance. We want you to have plenty of time to plan your trip to and from Berlin, so we’ve given you the start and end times of all the principal activities for each day.

Two days is just not enough to pack in all the great content we have in store for you! Why not join us a day early, on October 5, for one of the focused pre-conference training options?

We are thrilled to have Diamond sponsor, KDAB, host the Training Day, showing their strong and continued commitment to the Qt ecosystem especially after their great effort of organizing the previous Qt Developer Days in Europe. With more than 50 to 100 classes a year, KDAB instructors are experienced trainers as well as active developers, with real life experience from projects for KDAB customers.

KDAB-300x204Whether you are new to Qt and already a developer, new to Qt and a manager / decision maker or already a Qt developer there is something here for you.

Learn more about course options and which training is right for you here. Tickets will go on sale next week.

The post Qt World Summit 2015 | Come early and soak up even more! appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1dRK1Q6

Porting Three.js Code to Canvas3D

You might have heard of our new Qt Canvas3D module that comes with Qt 5.5: Introducing Qt Canvas3D. In this post we will go through the steps needed to port your three.js content to Canvas3D. We will cover how you can create your own Canvas3D project with Qt Creator and what are the main things to take into account when porting your code. To make it more exciting, all this will be shown via a well-known three.js example.

Creating a Canvas3D project

The easiest way to start is to use the QtCanvas3D Application with Three.js wizard with Qt Creator. The wizard template will be included in Qt Creator 3.5 and onwards. If you are using an older version of Qt Creator, you can find the wizard template in the Qt folder under 5.5/Src/qtcanvas3d/creatortemplates folder. The template needs to be copied to the correct location for Qt Creator to detect it. More details about the correct location can be found from Qt Creator documentation: Locating Wizards

After you have the wizard template in place you can start the New File or Project wizard. The QtCanvas3D Application with Three.js template can be found under Applications. Just give your project a descriptive name, select the kits used for the project, add it to version control if needed, and finish the wizard. Now you have a basic Canvas3D project created. The project includes a pre-defined set of files to run a Canvas3D application including the three.js. The default implementation draws a cube so that you can verify that everything is working correctly.

Porting HTML Content to JS

Next we are going to go through the steps needed to port the original HTML content into the created project. As an example we will use the Simple Cloth Simulation from three.js. We will use here a port of three.js on top of Canvas3D.

clothsimulation

The three.js library and the other JavaScript file needed by the example are added to the resource file automatically if the project was created with the wizard. Otherwise you will need to add the files to the project’s resource (.qrc) file.

The QML file created by the wizard has a Canvas3D element that already has the basic methods you will need to initialize, paint, and resize the canvas. The Canvas3D object is passed to these methods as a parameter. We will later show how the buttons to toggle different properties are created and positioned on the QML side. However, first we will go to the JavaScript side to port the actual code from the HTML file in the Simple Cloth Simulation has.

Let’s start with the initializeGL() function in our Canvas3D project. Basically this method is the place where you put the code you had in your init() function in HTML. With Canvas3D we don’t use the document object so code related to that can be skipped. Also the code related to stats is something we don’t need here. In the HTML you have used window to get the size. Code related to that should be changed so that the canvas object passed to the function is used. For example, the camera creation in the original example was done like this:

camera = new THREE.PerspectiveCamera( 30,
            window.innerWidth / window.innerHeight,
            1,
            10000 );

With Canvas3D the camera should be created in the following way:

camera = new THREE.PerspectiveCamera( 30,
            canvas.width / canvas.height,
            1,
            10000 );

There are some textures used in the example. The texture files need to be added to the project’s resource file. After this they can be loaded using the reference to the resource:

var clothTexture = THREE.ImageUtils.loadTexture(
            'qrc:/textures/patterns/circuit_pattern.png' );

The original HTML example has some shaders defined with the help of the document. We have created a WebGL Shader Library that basically has the exact same code as the original shaders did.

var clothShader = THREE.ShaderLib[ "cloth" ];
var vertexShader = clothShader.vertexShader;
var fragmentShader = clothShader.fragmentShader;

Last but not least, we replace WebGLRenderer with Canvas3DRenderer in the initializeGL() function.

renderer = new THREE.Canvas3DRenderer(
            { canvas: canvas,
              antialias: true,
              devicePixelRatio: canvas.devicePixelRatio });

The JavaScript file has an implementation for the onResizeGL() function. The default implementation there will work fine for Canvas3D projects, but you may want to do some changes based on the HTML files. In the example we ported, the implementation of the template was sufficient.

function resizeGL(canvas) {
    camera.aspect = canvas.width / canvas.height;
    camera.updateProjectionMatrix();
    renderer.setPixelRatio(canvas.devicePixelRatio);
    renderer.setSize( canvas.width, canvas.height );
}

The content of the animate() function you have in HTML can be ported to the paintGL() function with Canvas3D. You no longer need to request animation frame because Canvas3D takes care of that.

The full port of the HTML to JavaScript for Simple Cloth Simulation example can be found here: animation-cloth.js.

Adding controls to the QML side

For the Simple Cloth Simulation example we have added some buttons to the QML to do the toggling. All the buttons are positioned on the top of the window. For example, for toggling the wind we have created a button in the following way:

Button {
    id: windButton
    anchors.left: cameraButton.right
    width: parent.width / 4
    text: "Toggle Wind"
    onClicked: GLCode.toggleWind()
}

The JavaScript code was imported as GLCode for our ported application. The toggleWind() function from JavaScript code is called when the button is pressed. This function has the implementation that was defined in the hyperlink on the original HTML.

Another way to do this would be to define custom properties in your QML types, for example on the Canvas3D element. That object is already passed to the JavaScript, so you can just modify the value of the property on button press. In the way we have done the amount of needed porting effort has been reduced by reusing the existing methods from the HTML implementation.

The fully ported Simple Cloth Simulation example you can find here: ported animation-cloth example.

Mouse and Key Event Handling

The example we have covered here doesn’t have any mouse or key event handling. If you need these event handlers you can do it, for example, by adding a ControlEventSource to your Canvas3D type. ControlEventSource offers an API that is compatible to key and mouse event registration in HTML.

ControlEventSource {
    anchors.fill: parent
    focus: true
    id: eventSource
}

This needs to be passed to the JavaScript on initialization:

onInitializeGL: {
    GLCode.initializeGL(canvas3d, eventSource);
}

Then in the JavaScript initializeGL() function you should connect the desired signals to the corresponding functions. For example, for mouse and key down events the code would look like this:

eventSource.mouseDown.connect(onDocumentMouseDown);
eventSource.keyDown.connect(onDocumentKeyDown);

For the mouse event you will get the position of the pointer. For the key event you get the event and from it you can check which key was pressed using the key names used by Qt (Qt::Key).

Try it out

There’s a set of three.js examples that we’ve already ported on top of Canvas3D. You can find these examples here: qt-examples. Why not take a look at those and then give a try to port your own code?

The post Porting Three.js Code to Canvas3D appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1dRmL4T

Qt 5.5, computer vision, and the Nitrogen6X

In a previous post we have introduced one of the many new features of the upcoming Qt 5.5: the ability to easily integrate image processing and vision algorithms with camera and video streams via Qt Multimedia. It is now time to see the briefly mentioned OpenCV-based example in more detail.

Qt Quick, Multimedia, and OpenCV on the Nitrogen6X board

Qt Quick, Multimedia, and OpenCV on the Nitrogen6X board

Nitrogen6X is a single board computer from Boundary Devices based on the well-known Freescale i.MX6 platform. Combined with the 5 megapixel MIPI camera and the 7″ multi-touch display, all of which Qt supports out of the box, it provides an excellent platform for modern user interfaces and multimedia applications.

To see it all in its full glory, check out the following video:

As always, the application is cross-platform. Below it is seen running on an ordinary Linux PC, with QT_QUICK_CONTROLS_STYLE set to Flat. This allows having the exact same style for the controls as on the actual devices. This previously commercial-only style is now available under LGPLv3 for anyone, on any platform, starting from Qt 5.5. This is excellent news when targeting embedded devices, as those do not have a native look and feel to begin with, and for anyone who is after a consistent, unified experience across desktop, mobile, and embedded platforms.

Qt OpenCV demo on the desktop

Qt OpenCV demo on the desktop

The post Qt 5.5, computer vision, and the Nitrogen6X appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1eQM8Uy

Qt 5.4.2 Released

Today we have released Qt 5.4.2, the second patch update to Qt 5.4. In addition to improvements and fixes to Qt functionality it also packs new Qt Creator 3.4.1.

Qt 5.4.2 provides important security fixes for Qt WebEngine WeakDH vulnerability (CVE-2015-4000), DoS vulnerability in the BMP image handler (CVE-2015-0295) as well as security fixes for vulnerabilities in image handling of BMP (CVE-2015-1858), ICO (CVE-2015-1859) and GIF (CVE-2015-1860). Qt 5.4.2 also contains updates to the libpng (to version 1.6.17), the libtiff (to version 4.0.3) and the PCRE library (to version r1530) 3rd party components. These provide fixes to known vulnerabilities and provide general  improvements.

Qt 5.4.2 maintains backward compatibility, both source and binary, with Qt 5.4.1 – but not to Qt 5.4.0, which unfortunately broke binary compatibility on Windows when using MSVC 2012 or MSVC 2013. This binary compatibility break was fixed in Qt 5.4.1, thus Qt 5.4.2 maintains full compatibility with the Qt 5 series (except for Qt 5.4.0).

The full list of important changes can be found from the change files for each module.

The standalone packages of Qt 5.4.2 also include new Qt Creator 3.4.1. See the blog post about Qt Creator 3.4.1 for the main improvements.

Today we have also released a new version 1.3 of the Qt Virtual Keyboard adding support to Japanese and Korean languages, for more info about it please check the Qt Virtual Keyboard 1.3 release blog post.

If you are using online installer, Qt 5.4.2 can be updated using the maintenance tool. Offline packages are found from the Qt Account (for commercial users) and from the qt.io download page (for open-source users).

The post Qt 5.4.2 Released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1G10OdS

Qt Virtual Keyboard 1.3 Released – Adding Japanese and Korean Language Support

Today, we have released a new version 1.3 of the Qt Virtual Keyboard. As new features, we are adding support for Japanese and Korean along with support for Windows desktop.

A big use case over the years for Qt has been in creating embedded devices with an interactive use interface. More and more embedded and industrial devices are moving towards touch screens as their primary interface. As external input devices are no longer used, the device creator often needs to leverage virtual keyboard for text input. Although a virtual keyboard may seem like a trivial UI component, it is actually quite complex. When you think about modern keyboards, input mechanisms, customization, scalability and especially requirements around internationalization & localization, a virtual keyboard can easily become a very complex challenge that could hinder the whole usability of your device if not made properly.

Focus of Qt is to shorten the time-to-market on all aspects of development workflow, so over the past years, we have developed the Qt Virtual Keyboard to provide a full ready-made solution for Qt powered devices. Besides just touch-based screens it also expands to other input mechanisms, like 2/5-navigation (joystick/scrollwheel). The Qt Virtual Keyboard is available with a commercial Enterprise license at no additional cost. Using the Qt Virtual Keyboard in your Qt based devices is easy and we are continuously making sure it works nicely with the new releases of Qt.

Key features of the Qt Virtual Keyboard include:

  • Customizable keyboard layouts and styles with dynamic switching
  • Predictive text input with word selection list support
  • Character preview and alternative character view
  • Automatic capitalization and space insertion
  • Scalability to different resolutions
  • Support for different character sets (Latin, Simplified Chinese, Hindi, Japanese, Arabic, Korean, …)
  • Support for most common input languages (see list below), with possibility to easily extend the language support
  • Left-to-right and right-to-left input
  • Hardware key support for 2-way and 5-way navigation
  • Sound feedback
  • Cross-platform functionality

The Qt Virtual Keyboard version 1.3 supports the following languages:

  • Arabic
  • Chinese (Simplified)
  • Danish
  • English
  • Finnish
  • French
  • German
  • Hindi
  • Italian
  • Japanese (Hiragana, Katakana, and Kanji)
  • Korean
  • Norwegian
  • Persian/Farsi
  • Polish
  • Portugese
  • Russian
  • Spanish
  • Swedish

If the language you need is not supported, you can add an additional language (see documentation for Adding New Keyboard Layouts).

To see more about Qt Virtual Keyboard, check out the documentation or watch the video about the core features of the Qt Virtual Keyboard:

The new Virtual Keyboard 1.3 is available for device creation customers who have a commercial Enterprise license via the online installer as well as from the Qt Account. If you are not a customer yet, you can evaluate Qt for Device Creation with our free 30 day trial.

The post Qt Virtual Keyboard 1.3 Released – Adding Japanese and Korean Language Support appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1G10LPn

Qt Creator 3.4.1 released

We are happy to announce the release of Qt Creator 3.4.1. It includes fixes for the following regressions: manually registered documentation on Windows was deregistered again on restart, and disabling plugins could disable most of the About Plugins dialog.

You find a more complete list of fixes in our change log.

You find the opensource version on the Qt download page, and Enterprise packages on the Qt Account Portal. Please post issues in our bug tracker. You also can find us on IRC on #qt-creator on irc.freenode.net, and on the Qt Creator mailing list.

The post Qt Creator 3.4.1 released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1KAu1fr

Qt Installer Framework 2.0.1 Released

We’re happy to release Qt Installer Framework 2.0.1.

2.0.1 is a bug fix release that mostly fixes stability issues with elevated installations. But other issues in the code and documentation have been fixed too. See the ChangeLog for more details.

Sources and precompiled binaries for the Installer Framework are available at download.qt.io (open source), or in your Qt Account. The binaries are built with Qt 5.4.2 – if you compile from sources you should consider using Qt 5.4.2, too. The latest documentation can also be found online.

The post Qt Installer Framework 2.0.1 Released appeared first on Qt Blog.



Source :- Qt Blog http://ift.tt/1KAu2A9