Skip to content

Additional Qt libraries outside Qt Project

Abstract: This presentation will start by explaining the concept of inqlude.org and showing some of the libraries available there, pointing in particular to those that will be useful in the rest of the presentation. The multiple ways to use inqlude.org will be discussed: browsing the website and downloading sources, using the command-line tool to install sources or packages (in development), or future ideas such as integrating this with QtCreator.

We’ll then take a look at a simple Qt application which loads and saves its data into a plain text file, but which now wants to save an image as well into the same file. One solution to that problem is to use a ZIP file as the new file format, however Qt doesn’t have that available in its API. After installing the right library from inqlude.org we’ll be able to do this easily.

The next step will be to let the user generate a printable report from the application. While this is technically feasible with QTextDocument and QPrintPreviewDialog, it requires considerable effort, to set up the QTextDocument and set up the preview feature, then printing, page setup etc. Even more effort is required if the report generates multiple pages, needs headers and footers, etc. After installing the right library from inqlude.org we’ll be able to do this easily.

Finally, our users make too many typos, so we’d like to underline the misspelled words in the text edit widget. Technically feasible by using a system library such as aspell, ispell or hunspell directly, but again, with much manual effort (integrating this into the QTextEdit ourselves), and with portability issues (what if the system only has another one of these). You guessed it, after installing the right library from inqlude.org we’ll be able to do this easily.

This presentation will mostly not use slides, but will show live coding for the three features mentionned above.

Categories: Presentation videos / Qt

Tags:
Leave a Reply

Your email address will not be published. Required fields are marked *