<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6581644331269152413</id><updated>2026-07-21T06:23:47.679-03:00</updated><category term="Qt"/><category term="Android"/><category term="Qt Creator"/><category term="5.x"/><category term="qmake"/><category term="Raspberry Pi"/><category term="5.2"/><category term="Qml"/><category term="cross-compile"/><category term="5.1"/><category term="Packt Publishing"/><category term="i18n"/><category term="release"/><category term="C++"/><category term="Digia"/><category term="Java"/><category term="Linux"/><category term="debug"/><category term="iOS"/><category term="installer"/><category term="libraries"/><category term="signals"/><category term=".pro"/><category term="4.x"/><category term="5.0"/><category term="5.2.1"/><category term="5.6"/><category term="ANDROID_NDK_ROOT"/><category term="API"/><category term="Bogdan Vatra"/><category term="DRM"/><category term="ICS"/><category term="IDE"/><category term="KDE"/><category term="Nokia"/><category term="OpenGL"/><category term="Python"/><category term="Qt Visual Studio Tools"/><category term="QtMQTT"/><category term="RPi"/><category term="SDK"/><category term="Sense Emulator"/><category term="TDD"/><category term="UI"/><category term="Unit testing"/><category term="Visual Studio"/><category term="compiler"/><category term="cross-platform"/><category term="internalization"/><category term="kit"/><category term="library"/><category term="module"/><category term="porting"/><category term="pro"/><category term="project"/><category term="project files"/><category term="serial port"/><category term="slots"/><category term="survey"/><category term="translations"/><category term="variable"/><category term="#inqlude"/><category term="*nix"/><category term=".qm"/><category term=".qm files"/><category term=".ts files"/><category term="1.3.0"/><category term="2.0"/><category term="2.6.x"/><category term="2.8.1"/><category term="3.0.1"/><category term="3rd party"/><category term="406"/><category term="5.1 beta"/><category term="5.1.0"/><category term="5.1.1"/><category term="5.1.x"/><category term="5.15.x"/><category term="5.5.1"/><category term="5.5.x"/><category term="5.7"/><category term="Android NDK"/><category term="Android SDK"/><category term="Android Studio"/><category term="Android permissions"/><category term="Application Development with Qt Creator"/><category term="C++11"/><category term="CAN bus"/><category term="ChromeOS"/><category term="Chromium"/><category term="CommandLineParser"/><category term="Debian"/><category term="EGLFS"/><category term="Eclipse"/><category term="Embedded Linux"/><category term="Enumeration"/><category term="Freescale"/><category term="GCC"/><category term="GCC 4.9"/><category term="GCC 8.1"/><category term="GDB"/><category term="GL"/><category term="Game Programming using Qt"/><category term="Google Native Client"/><category term="Google Test"/><category term="HTTP"/><category term="IMU"/><category term="Intel"/><category term="IoT"/><category term="JSON"/><category term="JUnit"/><category term="Javascript function"/><category term="Jetson TK1"/><category term="KArchive"/><category term="KDAB"/><category term="KDE Frameworks 5"/><category term="ListModel"/><category term="Lubuntu"/><category term="MML"/><category term="MQ"/><category term="MQTT"/><category term="MTP"/><category term="Mac OS X"/><category term="Map"/><category term="MapPolyline"/><category term="Material Design"/><category term="MathML"/><category term="Ministro"/><category term="Mobility"/><category term="Modbus"/><category term="NCU"/><category term="NDK"/><category term="NSIS"/><category term="NVIDIA"/><category term="NaCl"/><category term="Nokia X"/><category term="Nokia X+"/><category term="Nokia XL"/><category term="Not Acceptable"/><category term="OS boot"/><category term="OpenCV"/><category term="PDF"/><category term="PKGCONFIG"/><category term="Poppler"/><category term="QButton"/><category term="QButtonGroup"/><category term="QCommandLineOption"/><category term="QEllapsedTimer"/><category term="QFileDialog"/><category term="QFontDatabase"/><category term="QGeoMap"/><category term="QLocalSocket"/><category term="QMetaEnum"/><category term="QMetaObject"/><category term="QNetworkAccessMananer"/><category term="QPrinter"/><category term="QQmlNetworkAccessMananerFactory"/><category term="QQuickPaintedItem"/><category term="QT_DEPRECATED_WARNINGS"/><category term="QT_DISABLE_DEPRECATED_BEFORE"/><category term="QTestlib"/><category term="QTimer"/><category term="Q_D"/><category term="Q_D macro"/><category term="Q_INVOKABLE"/><category term="Q_Q"/><category term="Q_Q macro"/><category term="Qt 5 Blueprints"/><category term="Qt 5.12.17"/><category term="Qt 5.9"/><category term="Qt 5.x"/><category term="Qt Company"/><category term="Qt Creator Google Test plugin"/><category term="Qt Designer"/><category term="Qt Linguist"/><category term="Qt Location"/><category term="Qt Quick Controls"/><category term="Qt Test"/><category term="Qt VS Tools"/><category term="QtArg"/><category term="QtCommercial"/><category term="QtInsights"/><category term="QtSerialPort"/><category term="QtSerialPortInfo"/><category term="QtSingleApplication"/><category term="QtSolutions"/><category term="QtWebEngine"/><category term="QtWebkit"/><category term="RECEIVE_BOOT_COMPLETED"/><category term="RS-232"/><category term="Raspberry Pi 3"/><category term="Raspberry Pi tools"/><category term="SOCKET_DGRAM"/><category term="SOCKET_STREAM"/><category term="Sense Emu"/><category term="Sense HAT"/><category term="Truetype"/><category term="Twitter"/><category term="Ubuntu"/><category term="Universal Design"/><category term="Unix"/><category term="User-Agent"/><category term="VS 2013"/><category term="VS 2015"/><category term="VS2012"/><category term="Windows"/><category term="Yocto"/><category term="adb"/><category term="add-in"/><category term="addons"/><category term="arguments"/><category term="auto-connect"/><category term="automotive"/><category term="binary compatibility"/><category term="book"/><category term="command line"/><category term="community"/><category term="custom control"/><category term="d-pointer"/><category term="default parameter value"/><category term="dejavu-fonts"/><category term="deprecated API"/><category term="device"/><category term="ebook"/><category term="emit"/><category term="enum as string"/><category term="error"/><category term="event"/><category term="exec error"/><category term="external jar"/><category term="features"/><category term="file manager"/><category term="fontconfig"/><category term="fonts"/><category term="free"/><category term="function declaration"/><category term="gitorious"/><category term="gvfs"/><category term="help"/><category term="host"/><category term="i.MX6"/><category term="include headers"/><category term="jsonlint.com"/><category term="ld"/><category term="list QML Type"/><category term="logging"/><category term="lrelease"/><category term="lupdate"/><category term="macro"/><category term="method"/><category term="method declaration"/><category term="missing libraries"/><category term="mobile"/><category term="mobile application"/><category term="moc"/><category term="modules"/><category term="mosquitto"/><category term="mount"/><category term="non-GUI QtCore"/><category term="options"/><category term="pImpl"/><category term="parser"/><category term="pcap"/><category term="pkg-config"/><category term="protected"/><category term="public"/><category term="publisher"/><category term="qmlRegisterType"/><category term="qtbase"/><category term="qtifw"/><category term="qttestlib"/><category term="radial bar"/><category term="rcc"/><category term="refactoring"/><category term="scripting"/><category term="sensors"/><category term="setupUI"/><category term="startup"/><category term="stopwatch"/><category term="subscriber"/><category term="technical preview"/><category term="thread"/><category term="timer"/><category term="tutorial"/><category term="uic"/><category term="unit tests"/><category term="version"/><category term="video"/><title type='text'>A Qt way</title><subtitle type='html'>&lt;b&gt;A site devoted to the Qt Development Frameworks with news, tricks, tips, source code, examples and more, much more.&lt;/b&gt;&#xa;&lt;br&gt;&#xa;&lt;br&gt;&#xa;&lt;br&gt;&#xa;This blog is in no way affiliated to or endorsed by Digia Plc.&#xa;&lt;br&gt;&#xa;&lt;small&gt;Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.&#xa;&lt;br&gt;&#xa;All other trademarks are property of their respective owners.&#xa;&lt;/small&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>90</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-8044366159673513152</id><published>2020-06-08T19:10:00.000-03:00</published><updated>2020-06-08T19:10:29.393-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="5.15.x"/><category scheme="http://www.blogger.com/atom/ns#" term="5.x"/><category scheme="http://www.blogger.com/atom/ns#" term="DRM"/><category scheme="http://www.blogger.com/atom/ns#" term="EGLFS"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi 3"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><category scheme="http://www.blogger.com/atom/ns#" term="video"/><title type='text'>Error &quot;Could not open DRM device&quot; running Qt app with platform eglfs in Raspberry Pi</title><summary type="text">While testing recently cross-compiled Qt libraries (5.15.0) for Raspberry Pi 3 running ArchLinuxARM using a sample application (qopenglwidget) I received error:

Could not open DRM device /dev/dri/card0 (Permission denied)


It turned out the problem is easily solvable by adding the user runnning the application to the group &quot;video&quot;:

$ sudo usermod -aG video alarm

(don&#39;t forget to logoff and </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/8044366159673513152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2020/06/error-could-not-open-drm-device-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8044366159673513152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8044366159673513152'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2020/06/error-could-not-open-drm-device-running.html' title='Error &quot;Could not open DRM device&quot; running Qt app with platform eglfs in Raspberry Pi'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-2897523609998545842</id><published>2020-04-04T15:10:00.001-03:00</published><updated>2020-04-04T15:10:48.447-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android NDK"/><category scheme="http://www.blogger.com/atom/ns#" term="Android SDK"/><category scheme="http://www.blogger.com/atom/ns#" term="ANDROID_NDK_ROOT"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt 5.12.17"/><title type='text'>Qt Creator: Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable</title><summary type="text">I&#39;ve just installed Qt 5.12.7 with offline installer, and having previously setup the Android SDK and NDK, along with Java 8, when starting Qt Creator for the first time the following messages appeared under tab &quot;6 General Messages&quot;:


Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable to point to your Android NDK.Could not read qmake configuration file /opt/Qt5.12.7/5.12.7/</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/2897523609998545842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2020/04/qt-creator-project-error-you-need-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/2897523609998545842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/2897523609998545842'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2020/04/qt-creator-project-error-you-need-to.html' title='Qt Creator: Project ERROR: You need to set the ANDROID_NDK_ROOT environment variable'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-4744770863741541551</id><published>2018-08-09T13:20:00.002-03:00</published><updated>2018-08-09T13:20:55.329-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cross-compile"/><category scheme="http://www.blogger.com/atom/ns#" term="GCC"/><category scheme="http://www.blogger.com/atom/ns#" term="GCC 4.9"/><category scheme="http://www.blogger.com/atom/ns#" term="GCC 8.1"/><category scheme="http://www.blogger.com/atom/ns#" term="QGeoMap"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt Location"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi tools"/><title type='text'>Cross-compiling full Qt 5.11.x for Raspberry Pi: error with QGeoMap class in Qt Location module</title><summary type="text">
From this&amp;nbsp;post, an error appears when cross-compiling Qt 5.11.x (full from source code tarball, i.e.&amp;nbsp;qt-everywhere-src-5.11.0.tar.xz) and following the steps from this&amp;nbsp;guide.&amp;nbsp;

The solution I found:


It looks like the default cross-compiler (GCC 4.9) used as part of those steps (from Raspberry tools repository) is kinda old, and just using a new/more up to date GCC </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/4744770863741541551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/08/cross-compiling-full-qt-511x-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4744770863741541551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4744770863741541551'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/08/cross-compiling-full-qt-511x-for.html' title='Cross-compiling full Qt 5.11.x for Raspberry Pi: error with QGeoMap class in Qt Location module'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-1579013694540217101</id><published>2018-08-08T18:21:00.000-03:00</published><updated>2018-08-08T18:21:08.877-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dejavu-fonts"/><category scheme="http://www.blogger.com/atom/ns#" term="fontconfig"/><category scheme="http://www.blogger.com/atom/ns#" term="fonts"/><category scheme="http://www.blogger.com/atom/ns#" term="QFontDatabase"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Truetype"/><title type='text'>Qt on Raspberry: QFontDatabase error</title><summary type="text">After deploying a cross-compiled Qt application for the Raspberry Pi boards (by following this guide), this error message appears:

QFontDatabase: Cannot find font directory /usr/local/qt5pi/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from http://dejavu-fonts.org for example) or switch to fontconfig.

The solution I found was to make a symbolic link from existing fonts on the RPi </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/1579013694540217101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/08/qt-on-raspberry-qfontdatabase-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/1579013694540217101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/1579013694540217101'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/08/qt-on-raspberry-qfontdatabase-error.html' title='Qt on Raspberry: QFontDatabase error'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-8608162776064012396</id><published>2018-07-13T13:50:00.000-03:00</published><updated>2018-07-13T13:50:04.675-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt Test"/><category scheme="http://www.blogger.com/atom/ns#" term="qttestlib"/><category scheme="http://www.blogger.com/atom/ns#" term="refactoring"/><category scheme="http://www.blogger.com/atom/ns#" term="TDD"/><category scheme="http://www.blogger.com/atom/ns#" term="Unit testing"/><category scheme="http://www.blogger.com/atom/ns#" term="unit tests"/><title type='text'>Qt Test or not Qt Test</title><summary type="text">Are you convinced that unit tests are a great tool for great software development? I really am. Having a (good) set of unit tests allow you to be sure that changes to existing code (i.e. refactoring) may not break it, and if you are lean to Test Driven Development (TDD) they allows you to think about the &quot;contract&quot; or responsibilities&amp;nbsp;of a class before actual implementation.
The good thing </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/8608162776064012396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/07/qt-test-or-not-qt-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8608162776064012396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8608162776064012396'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/07/qt-test-or-not-qt-test.html' title='Qt Test or not Qt Test'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-3728962671681959614</id><published>2018-06-12T21:30:00.001-03:00</published><updated>2018-06-12T21:31:08.026-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cross-compile"/><category scheme="http://www.blogger.com/atom/ns#" term="cross-platform"/><category scheme="http://www.blogger.com/atom/ns#" term="IMU"/><category scheme="http://www.blogger.com/atom/ns#" term="MQ"/><category scheme="http://www.blogger.com/atom/ns#" term="publisher"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="QtMQTT"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="sensors"/><category scheme="http://www.blogger.com/atom/ns#" term="subscriber"/><title type='text'>Cross-compiling QtMqtt module for Raspberry Pi</title><summary type="text">A previous post of mine described the Qt module for MQTT protocol, and how to compile it for the Android platform. That seems a good fit to develop a client application for a dashboard for instance, where you can subscribe to different topics and monitor the evolution of such items.
Ok you&#39;ll say, but what about creating MQTT publishers, i.e. devices that may have sensors and will provide the </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/3728962671681959614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/cross-compiling-qtmqtt-module-for_12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3728962671681959614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3728962671681959614'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/cross-compiling-qtmqtt-module-for_12.html' title='Cross-compiling QtMqtt module for Raspberry Pi'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-3270851216435597062</id><published>2018-06-09T20:18:00.001-03:00</published><updated>2018-06-09T20:18:37.006-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="cross-compile"/><category scheme="http://www.blogger.com/atom/ns#" term="module"/><category scheme="http://www.blogger.com/atom/ns#" term="mosquitto"/><category scheme="http://www.blogger.com/atom/ns#" term="MQTT"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="QtMQTT"/><title type='text'>Cross-compiling QtMqtt module for Android</title><summary type="text">As the MQTT potocol continues to get traction in the IoT world, more and more people seems to rely on Qt MQTT module to implement clients applications that can communicate over the MQ telemetry transport (MQTT) protocol. And given the device-based nature of such clients, it&#39;s very likely that you may need the module available for different platforms/architectures.
It turned out that </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/3270851216435597062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/cross-compiling-qtmqtt-module-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3270851216435597062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3270851216435597062'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/cross-compiling-qtmqtt-module-for.html' title='Cross-compiling QtMqtt module for Android'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-2914033243792362898</id><published>2018-06-07T22:08:00.001-03:00</published><updated>2018-06-07T22:08:07.854-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="*nix"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="QLocalSocket"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Sense Emulator"/><category scheme="http://www.blogger.com/atom/ns#" term="SOCKET_DGRAM"/><category scheme="http://www.blogger.com/atom/ns#" term="SOCKET_STREAM"/><category scheme="http://www.blogger.com/atom/ns#" term="Unix"/><title type='text'>QLocalSocket under *nix is SOCKET_STREAM only </title><summary type="text">While developing a library for Qt to interact with Sense HAT add-on board for Raspberry Pi, I started with the software side, the Sense Emulator. This application emulates the components of the board, and makes the data from emulated sensors, stick and LED matrix available through several files. Under *nix the stick events are provided via a Unix domain local socket as datagrams, constructed in </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/2914033243792362898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/qlocalsocket-under-nix-is-socketstream.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/2914033243792362898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/2914033243792362898'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/qlocalsocket-under-nix-is-socketstream.html' title='QLocalSocket under *nix is SOCKET_STREAM only '/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-632054224495536397</id><published>2018-06-03T18:32:00.002-03:00</published><updated>2018-06-03T18:32:47.235-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="binary compatibility"/><category scheme="http://www.blogger.com/atom/ns#" term="d-pointer"/><category scheme="http://www.blogger.com/atom/ns#" term="library"/><category scheme="http://www.blogger.com/atom/ns#" term="pImpl"/><category scheme="http://www.blogger.com/atom/ns#" term="Q_D"/><category scheme="http://www.blogger.com/atom/ns#" term="Q_D macro"/><category scheme="http://www.blogger.com/atom/ns#" term="Q_Q"/><category scheme="http://www.blogger.com/atom/ns#" term="Q_Q macro"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Sense Emu"/><category scheme="http://www.blogger.com/atom/ns#" term="Sense Emulator"/><category scheme="http://www.blogger.com/atom/ns#" term="Sense HAT"/><title type='text'>Just one library with different immplementations? d-pointer desing pattern to the rescue</title><summary type="text">I&#39;m developing a library based on Qt to access the Sense HAT add-on for Raspberry Pi. It&#39;s based on ideas and code from Qt&#39;s experimental module and from this other library. The ultimate goal is to provide a library that can be used with either the actual hardware or the Sense Emulator without any code changes to the program using it.
So the application using the library will include just the </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/632054224495536397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/just-one-library-with-different.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/632054224495536397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/632054224495536397'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/just-one-library-with-different.html' title='Just one library with different immplementations? d-pointer desing pattern to the rescue'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-7964194444932636185</id><published>2018-06-03T10:55:00.001-03:00</published><updated>2018-06-03T10:55:39.977-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="default parameter value"/><category scheme="http://www.blogger.com/atom/ns#" term="function declaration"/><category scheme="http://www.blogger.com/atom/ns#" term="method declaration"/><title type='text'>Qt default parameter value</title><summary type="text">What is the proper place for the default value of a parameter ? Just in function definition, or declaration, or both places? Qt code has plenty of methods using this approach i.e.&amp;nbsp;QDialog::QDialog(QWidget * parent = 0, Qt::WindowFlags f = 0) so what if you&#39;re defining a new method and need a similar behavior?
The answer is placing the default value in the method declaration (usually in a </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/7964194444932636185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/qt-default-parameter-value.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7964194444932636185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7964194444932636185'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/qt-default-parameter-value.html' title='Qt default parameter value'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-8831228036606275396</id><published>2018-06-03T10:45:00.001-03:00</published><updated>2018-06-03T10:45:37.257-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="library"/><category scheme="http://www.blogger.com/atom/ns#" term="Q_INVOKABLE"/><category scheme="http://www.blogger.com/atom/ns#" term="Qml"/><category scheme="http://www.blogger.com/atom/ns#" term="qmlRegisterType"/><category scheme="http://www.blogger.com/atom/ns#" term="signals"/><category scheme="http://www.blogger.com/atom/ns#" term="slots"/><category scheme="http://www.blogger.com/atom/ns#" term="UI"/><title type='text'>QML signals to C++? No, the other way around please</title><summary type="text">While developing an application with QML and C++ please refrain to emit signals in QML that should be handled by C++ code. Just the opposite, keep QML as the UI layer and expose your C++ object to QML (as a context property or with 
qmlRegisterXXX) and then call a slot or a Q_INVOKABLE method of this 
object from QML.

DO NOT (in C++):
QObject::connect(window, SIGNAL(qmlSignal(QString)), &amp;amp;</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/8831228036606275396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/06/qml-signals-to-c-no-other-way-around.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8831228036606275396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8831228036606275396'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/06/qml-signals-to-c-no-other-way-around.html' title='QML signals to C++? No, the other way around please'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-9030399804789993292</id><published>2018-03-12T10:54:00.000-03:00</published><updated>2018-03-12T10:54:24.808-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Android permissions"/><category scheme="http://www.blogger.com/atom/ns#" term="OS boot"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="RECEIVE_BOOT_COMPLETED"/><category scheme="http://www.blogger.com/atom/ns#" term="startup"/><title type='text'>Getting your fancy Qt application show up on Android startup</title><summary type="text">Let&#39;s say you have your super duper Qt application ready for Android platform, but you want it to run on startup.
Just add this line to your Android manifest in your project:


  
&amp;#x3C;uses-permission android:name=&amp;#x22;android.permission.RECEIVE_BOOT_COMPLETED&amp;#x22;&amp;#x3E;&amp;#x3C;/uses-permission&amp;#x3E;
  


And then you&#39;ll be able to respond to OS boot.
</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/9030399804789993292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/03/getting-your-fancy-qt-application-show.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/9030399804789993292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/9030399804789993292'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/03/getting-your-fancy-qt-application-show.html' title='Getting your fancy Qt application show up on Android startup'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-8889118862013577994</id><published>2018-02-08T10:17:00.000-03:00</published><updated>2018-02-08T10:17:15.417-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QEllapsedTimer"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="QTimer"/><category scheme="http://www.blogger.com/atom/ns#" term="stopwatch"/><category scheme="http://www.blogger.com/atom/ns#" term="timer"/><title type='text'>Timer or Stopwatch?</title><summary type="text">A well known feature of Qt framework (at least what I guess) is the QTimer class, which essentially allows to have repetitive tasks or calculations at a given time interval. Think of it as a timer, that when it goes off, sends the timeout() signal and starts again the countdown for another interval. But a less known feature (at least what I guess) is the QElapsedTimer class, which acts the </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/8889118862013577994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/02/timer-or-stopwatch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8889118862013577994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8889118862013577994'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/02/timer-or-stopwatch.html' title='Timer or Stopwatch?'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-3499633894005203104</id><published>2018-01-18T13:10:00.000-03:00</published><updated>2018-01-18T13:10:05.195-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cross-compile"/><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="device"/><category scheme="http://www.blogger.com/atom/ns#" term="kit"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt Creator"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Yocto"/><title type='text'>Using Qt Creator to cross-compile and debug Raspberry Pi Qt5 apps</title><summary type="text">Have you ever wonder how to setup Qt Creator in your powerful workstation to develop Qt apps that can be deployed and tested in your Raspberry Pi (reachable from such workstation)?
Well, thanks to this excellent post from Scott Ellis, you have a very detailed step by step guide on how to achieve that feature.&amp;nbsp;

Happy coding!</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/3499633894005203104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2018/01/using-qt-creator-to-cross-compile-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3499633894005203104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3499633894005203104'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2018/01/using-qt-creator-to-cross-compile-and.html' title='Using Qt Creator to cross-compile and debug Raspberry Pi Qt5 apps'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-7030616375050734405</id><published>2017-11-29T10:11:00.001-03:00</published><updated>2017-11-29T10:11:42.595-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3rd party"/><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="libraries"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>QWidget: Must construct a QApplication before a QWidget</title><summary type="text">Have you faced such error message? It&#39;s specially likely to appear if you are using Qt framework along with 3rd party libraries. The solution?
Don&#39;t mix debug and release libraries, both Qt or 3rd party. Check that all the libraries are on the same page, i.e. all libraries in debug mode.

Happy coding!</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/7030616375050734405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/11/qwidget-must-construct-qapplication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7030616375050734405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7030616375050734405'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/11/qwidget-must-construct-qapplication.html' title='QWidget: Must construct a QApplication before a QWidget'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-8549479147963003457</id><published>2017-11-22T11:32:00.000-03:00</published><updated>2017-11-22T11:32:45.604-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="4.x"/><category scheme="http://www.blogger.com/atom/ns#" term="5.x"/><category scheme="http://www.blogger.com/atom/ns#" term="emit"/><category scheme="http://www.blogger.com/atom/ns#" term="event"/><category scheme="http://www.blogger.com/atom/ns#" term="method"/><category scheme="http://www.blogger.com/atom/ns#" term="protected"/><category scheme="http://www.blogger.com/atom/ns#" term="public"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="signals"/><title type='text'>Emit signals of other objects...</title><summary type="text">It&#39;ll depend on the Qt version you&#39;re using. If Qt 5.x it&#39;s easy, as signals are public methods. And the &#39;emit&#39; keyword expands to an empty string, so just both entries below are equivalent:
a.signal_X();

emit a.signal_X();

If using Qt 4.x, it&#39;s not that easy since signals are protected methods so you can&#39;t emit signals directly. However, there are a couple of approaches to achieve that:
1. </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/8549479147963003457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/11/emit-signals-of-other-objects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8549479147963003457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/8549479147963003457'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/11/emit-signals-of-other-objects.html' title='Emit signals of other objects...'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-6474130477567953826</id><published>2017-11-21T16:39:00.001-03:00</published><updated>2017-11-22T11:21:08.374-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Javascript function"/><category scheme="http://www.blogger.com/atom/ns#" term="list QML Type"/><category scheme="http://www.blogger.com/atom/ns#" term="ListModel"/><category scheme="http://www.blogger.com/atom/ns#" term="Map"/><category scheme="http://www.blogger.com/atom/ns#" term="MapPolyline"/><category scheme="http://www.blogger.com/atom/ns#" term="Qml"/><title type='text'>QML ListModel is not a QML List Type</title><summary type="text">As 0 be 1 cannot be (from Star Wars parlance), a QML ListModel is not a list QML Basic Type. Given that said, let&#39;s say you have a properly populated ListModel of coordinates (i.e. pairs of latitude and longitude values), and you want to use it as input for a QML&amp;nbsp;MapPolyline to display a polyline in a map...
Well, you cannot use your ListModel directly to the path property, as it expects a </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/6474130477567953826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/11/qml-listmodel-is-not-qml-list-type.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/6474130477567953826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/6474130477567953826'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/11/qml-listmodel-is-not-qml-list-type.html' title='QML ListModel is not a QML List Type'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-3856704853552536800</id><published>2017-10-23T11:32:00.001-03:00</published><updated>2017-10-23T11:32:57.756-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cross-compile"/><category scheme="http://www.blogger.com/atom/ns#" term="exec error"/><category scheme="http://www.blogger.com/atom/ns#" term="host"/><category scheme="http://www.blogger.com/atom/ns#" term="moc"/><category scheme="http://www.blogger.com/atom/ns#" term="qmake"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="rcc"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><category scheme="http://www.blogger.com/atom/ns#" term="uic"/><title type='text'>Raspbian: /opt/qt/bin/qmake: cannot execute binary file: Exec format error</title><summary type="text">If you&#39;re cross-compiling Qt for Raspberry Pi (for instance following this guide), and once everything finished and seems Ok, you may encounter the following error while running qmake:
/opt/qt/bin/qmake: cannot execute binary file: Exec format error

Please keep in mind that&amp;nbsp;qmake and its friends (moc, uic, rcc, etc.) are host tools and thus they are compiled for the host you are </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/3856704853552536800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/10/raspbian-optqtbinqmake-cannot-execute.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3856704853552536800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/3856704853552536800'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/10/raspbian-optqtbinqmake-cannot-execute.html' title='Raspbian: /opt/qt/bin/qmake: cannot execute binary file: Exec format error'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-323844814514026156</id><published>2017-09-08T15:14:00.001-03:00</published><updated>2017-09-08T15:14:51.226-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="include headers"/><category scheme="http://www.blogger.com/atom/ns#" term="libraries"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenCV"/><category scheme="http://www.blogger.com/atom/ns#" term="pkg-config"/><category scheme="http://www.blogger.com/atom/ns#" term="PKGCONFIG"/><category scheme="http://www.blogger.com/atom/ns#" term="qmake"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><title type='text'>pkg_config and qmake</title><summary type="text">If you&#39;re developing an application with Qt which in turn relies on some library that uses the pkg-config tool, you can take advantage and simplify your Qt project file (.pro) as it will help avoiding hard-coded values for where to find headers and libraries for a particular package.
A common way to use pkg-config in makefiles is as follows:

gcc -o test test.c `pkg-config --libs --cflags </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/323844814514026156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/09/pkgconfig-and-qmake.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/323844814514026156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/323844814514026156'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/09/pkgconfig-and-qmake.html' title='pkg_config and qmake'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-830408499696810961</id><published>2017-09-08T14:00:00.000-03:00</published><updated>2017-09-08T14:00:21.334-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="406"/><category scheme="http://www.blogger.com/atom/ns#" term="HTTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Not Acceptable"/><category scheme="http://www.blogger.com/atom/ns#" term="Qml"/><category scheme="http://www.blogger.com/atom/ns#" term="QNetworkAccessMananer"/><category scheme="http://www.blogger.com/atom/ns#" term="QQmlNetworkAccessMananerFactory"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt 5.9"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt 5.x"/><category scheme="http://www.blogger.com/atom/ns#" term="User-Agent"/><title type='text'>Using a custom QNetworkAccessManager in QML</title><summary type="text">The QML Image component has the capability to specify the source of the image is as a URL (using the &quot;source&quot; property) and QML automatically retrieving such image file from a remote location. To do so, QML uses a QNetworkAccessManager (QNAM for short) in the background, which has a lot of default values. But what if you need to set some custom values for the QNAM?
I&#39;ll use this post in Qt forum </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/830408499696810961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/09/using-custom-qnetworkaccessmanager-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/830408499696810961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/830408499696810961'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/09/using-custom-qnetworkaccessmanager-in.html' title='Using a custom QNetworkAccessManager in QML'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-7922961932582870306</id><published>2017-08-10T10:31:00.000-03:00</published><updated>2017-08-10T10:31:06.793-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".qm files"/><category scheme="http://www.blogger.com/atom/ns#" term=".ts files"/><category scheme="http://www.blogger.com/atom/ns#" term="i18n"/><category scheme="http://www.blogger.com/atom/ns#" term="internalization"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt Visual Studio Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt VS Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="translations"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Internationalization with Qt VS Tools</title><summary type="text">The good news for people using Qt VS Tools addin is that translations work very well from within the Visual Studio environment. The whole lifecycle of translations in Qt, that is:


use tr() method to wrap all translatable strings
create the .ts files with lupdate command
translate using Linguist
create the compiled .qm files with lrelease command

can be carried on without any issues, see more </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/7922961932582870306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/08/internationalization-with-qt-vs-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7922961932582870306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7922961932582870306'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/08/internationalization-with-qt-vs-tools.html' title='Internationalization with Qt VS Tools'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-4980281445504406260</id><published>2017-08-07T11:40:00.002-03:00</published><updated>2017-08-07T11:40:54.775-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="file manager"/><category scheme="http://www.blogger.com/atom/ns#" term="gvfs"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Lubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="mount"/><category scheme="http://www.blogger.com/atom/ns#" term="MTP"/><category scheme="http://www.blogger.com/atom/ns#" term="QFileDialog"/><title type='text'>Qt on Android: browsing files from device with QFileDialog widget in Linux</title><summary type="text">I was developing an Android application with Qt using a real device connected to my laptop with Lubuntu, and I needed to open files created by such application on Android&#39;s file system directly from my PC. The thing is, the device was auto-mounted whenever I connected it, and showing properly in the file manager (something like mtp://[usb:001,007]/), but while using&amp;nbsp;QFileDialog::</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/4980281445504406260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/08/qt-on-android-browsing-files-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4980281445504406260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4980281445504406260'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/08/qt-on-android-browsing-files-from.html' title='Qt on Android: browsing files from device with QFileDialog widget in Linux'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-5748688522326302849</id><published>2017-04-05T14:04:00.000-03:00</published><updated>2017-04-05T14:04:50.882-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".pro"/><category scheme="http://www.blogger.com/atom/ns#" term="compiler"/><category scheme="http://www.blogger.com/atom/ns#" term="project files"/><category scheme="http://www.blogger.com/atom/ns#" term="qmake"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="QT_DISABLE_DEPRECATED_BEFORE"/><title type='text'>Make the compiler fail if using deprecated Qt features</title><summary type="text">Instead of making the compiler warn you if using deprecated Qt features (see previous post), by using QT_DISABLE_DEPRECATED_BEFORE it&#39;s even possible to make your code fail to compile if you use deprecated APIs.
Again, by using such keyword in your project file (.pro) it&#39;s also possible to select to disable deprecated APIs only up to a certain version of Qt, see the following example:

DEFINES +=</summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/5748688522326302849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/04/make-compiler-fail-if-using-deprecated.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/5748688522326302849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/5748688522326302849'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/04/make-compiler-fail-if-using-deprecated.html' title='Make the compiler fail if using deprecated Qt features'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-4691499865175314431</id><published>2017-04-05T12:54:00.000-03:00</published><updated>2017-04-05T14:07:52.385-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".pro"/><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="compiler"/><category scheme="http://www.blogger.com/atom/ns#" term="deprecated API"/><category scheme="http://www.blogger.com/atom/ns#" term="project files"/><category scheme="http://www.blogger.com/atom/ns#" term="qmake"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="QT_DEPRECATED_WARNINGS"/><title type='text'>Make the compiler warn you of deprecated Qt features</title><summary type="text">
QT_DEPRECATED_WARNINGS is a keyword that can be used in your Qt&#39;s project files (.pro) so qmake makes your compiler emit warnings if you use any feature of Qt which as been marked deprecated. The exact warnings depend on your compiler, but it&#39;ll be easy to spot any location in your source base that might be affected for any Qt&#39;s API changing soon.


I guess it pays off when moving from one Qt&#39;s </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/4691499865175314431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/04/make-compiler-warns-of-deprecated-qt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4691499865175314431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/4691499865175314431'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/04/make-compiler-warns-of-deprecated-qt.html' title='Make the compiler warn you of deprecated Qt features'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6581644331269152413.post-7563635468034662556</id><published>2017-04-03T13:52:00.000-03:00</published><updated>2017-04-05T13:11:14.376-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="custom control"/><category scheme="http://www.blogger.com/atom/ns#" term="Qml"/><category scheme="http://www.blogger.com/atom/ns#" term="QQuickPaintedItem"/><category scheme="http://www.blogger.com/atom/ns#" term="Qt"/><category scheme="http://www.blogger.com/atom/ns#" term="radial bar"/><title type='text'>Ever dreamt of creating your own QML controls?</title><summary type="text">Were you in need of a control not provided in the QML controls set? Have you wondered how difficult could such an enterprise be to write and use your own QML control to fit your needs? Do you feel like contributing any new QML control back to the community?
If you answered yes to any of the previous questions, you may be willing to take a look at this project, where a radial bar component is </summary><link rel='replies' type='application/atom+xml' href='http://qtway.blogspot.com/feeds/7563635468034662556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qtway.blogspot.com/2017/04/ever-dreamt-of-creating-your-own-qml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7563635468034662556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6581644331269152413/posts/default/7563635468034662556'/><link rel='alternate' type='text/html' href='http://qtway.blogspot.com/2017/04/ever-dreamt-of-creating-your-own-qml.html' title='Ever dreamt of creating your own QML controls?'/><author><name>Pablo Rogina</name><uri>http://www.blogger.com/profile/07433653903609290708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kHLCtAs3wshaz8lVb2-1PUlbPmhPGwKuU0UaXMU_Xh4Szu3rA_tvxc24UsQRuux00DvKXk40Ciuyi7WJIHL8cJcnMY3jHMW0oDCUxzPNeZynTMJ5jD62KFRdXBU63w/s220/pjr.jpg'/></author><thr:total>0</thr:total></entry></feed>