Posts

Showing posts with the label Tutorial

QML: Get Android apk package info

Image
All the information stored inside apk AndroidManifest.xml file can be extracted using dedicated Android API. Using JNI through C++ Qt layer is possible to get these info and pass them to the QML level.

QML: Mixed native Android and QML animated splash screen

Image
In this blog two methods for show a splash screen has been proposed. One is based to pure QML code and show animations and the second is native Android way but static. Now a third method mixing both previous solution by allow a partially animated splash screen is proposed.

Merge multiple Subversion repositories into a single Git repository

Image
If you want to move your subversion repository to a git repository already exist tools make this porting in an easy way. But if you want to move and merge more than one subversion repositories into a single git repository you have mo make some manual steps.

Qt Creator: include additional files inside Android apk

Image
Developing an app for Android frequently require to include some additional files containing custom data used by the app itself (in majority of cases sqlite database files). Android provide a standard way by using a special folder called assets where these kind of files need to be stored. Qt Creator provide a instructions to use for copy these files during apk creation.

QML and Android back button

Image
QML and Qt Quick controls allow a very rapid development also mainly for mobile devices. However mobile devices require some additional code for manage special system buttons. In this post we discuss about how to manage the Android back button using QML.

Compile QWebKit component for Android

Image
As announced Qt team ported Qt libraries to work on mobile system also but with some limitations. The most "important" limitation (in my opinion) is the choice to not include QWebKit (or QtWebEngine) component into mobile system library set. As replacement of this lack Qt team provide the QtWebView component that is a wrapper around the system native web browser engine.

Asynchronous bulk transfer using libusb

Image
The 'linusb' is one of the most used open source library for work with usb devices. It allow to make the basic usb data transfers operation in a little bit easier way compared to standard system calls. Here a short tutorial regarding how to use asynchronous bulk transfer.

Make Input/Output operations from Linux user space

Image
Input/Output operation are made with special x86 instructions. This mean this interface exist only in x86 systems and is not available in ARM platforms. The operation consist in send or receive data to/from special "registry" called port and is frequently used for a lot of common tasks.

Qt: Get click event from button inside QTableWidget cell

Image
QTableWidget is a very flexible control allowing to manage various type of widgets inside each cell. However some widgets like button require an immediate action in consequence of click event. Insert a button inside a table cell is very easy but we need a way to get the click event since there will be a button for each new row in the table.

Qt: Sidebar Qt Creator style

Image
Very simple tutorial about how to develop a dark sidebar like the Qt Creator tool. This is my solution based to stylesheet but same result can be reached in a lot of other ways. However I think this will get a good result with minimal efforts.

Set window icon in Windows console application

Image
Console application is a special Windows interface that doesn't need any GUI window since show only a console prompt as input. Each MS-DOS executable or batch file is automatically executed using this special mode. However is possible to develop a pure Windows application using this modality.

Detect arrow keys pressure under Linux

Image
Manage pressure of keyboard arrow keys under Linux is not a very easy task. This because, contrary to other keys having a specific unique code, the pressure of one of the arrow keys return not a single scancode but a sequence of three codes.

Access physical memory from Linux user space

Image
If you want to find a way for access physical memory in Linux there are only two solutions. The first is to develop a module running in kernel space with the correct privileges to access physical memory and the second is to use a special devices called " /dev/mem ". If your purpose is only to read or write some small parts of physical memory from user space this device is the right solution for you. Basically you can manage it as a file with additional use of some special functions required for get a pointer to the memory address your are interested to work in.

Tree in SQL database: The Nested Set Model

Image
Tree structure are very commonly used by all the application who need to manage a large quantity of data. However once have in memory the tree data the application need a way to save them for future use. SQL database can be a good solution but, in this case, we need a way to store data in efficient mode. This post will propose a model called Nested Set.

Access GPIO from Linux user space

Image
GPIO mean "General Purpose Input/Output" and is a special pin present in some chip that can be set as input or output and used to move a signal high or low (in output mode) or to get the signal current status (in input mode). Usually these pin are directly managed by kernel modules but there are an easy way to manage these pins also from user space.

Create a password protected zip file using zlib and ZipEngine

Image
If you want to create a zip file from your C/C++ application the first solution you can consider is to use the famous zlib library. This library is open source, permissive license and can be compiled in different operating systems. It allow to easily manage a zip file but, currently, doesn't have the feature for create zip file password protected. To fill this lack another developer created a small wrapper over zlib allowing to bypass this problem. Let's go to see how to use both these product.

Use MooRainbow as custom field in Joomla module or plugin settings panel

Image
Each Joomla extension allow to configure the various options through the administrator settings panel. In case of modules and plugin the type of control available are very basic. In the majority of cases these control are more than enough for create a good interface. However, for some type of inputs, have a basic control, like a text edit, can work but it makes a little difficult for the user to insert the right value. One of this cases is the insertion of a color code. Luckily Joomla is a very flexible CMS an allow us to add custom control for improve the system usability. In this tutorial we are going to explain how to integrate the famous MooRainbow script into module and plugin settings panel for allow a better help in color selection.

Access physical memory in MS-DOS

Image
MS-DOS operating system (and the other "clones" like OpenDOS and so on)  is dead for the majority of users so do not make much sense write a post about this argument. However in the companies producing embedded hardware the DOS operating system is still used some time. Obviously not as main operating system but as tool for check if there is some problem on the new hardware board they are working on.

Building static Qt 4.x on Windows with MinGW

Image
Qt is the famous framework for develop applications that can work in Windows, Linux and Mac. Just develop your application using the framework API and recompile for the right OS. Very easy. As additional feature it came with an integrated IDE that can speed up the development work. The only thing that, maybe, can result "annoying" for some some people is the standard libraries binary format distributed with the official release.