Category Archives: Qt

Ru: Archive: Шифруемся в Qt (2013)

Так как оказалось, что наши коммуникации довольно легко просматриваются товарищами из АНБ то похоже что нужно шифровать все коммуникации. Я решил проверить насколько сложно подключить шифрование в разработке Qt приложений. Как оказалось что все совсем несложно даже в случае использовании PGP. Так что тут больше дело привычки разработчика чтобы шифровать критические данные. Вот и попробуем
Also posted in Blog, C++, Cryptography, Ru, Tutorial | Leave a comment

Jongling models beetween threads

We know that in Qt the models are not thread-safe – they totally depend on your implementation. So what we may do to bypass model between threads? Guess that we have some models which implementation we can not adjust much or can not make thread-safe. Danger is that if some model is used somewhere (pointer […]
Also posted in Blog, Boost, C++, Models | 3 Comments

Qt and use of Cryptography – simple!

In the light of latest news (Snowden et all) it is very clear that all developers should really take care of safety of all communications that your application could perform. In the world of desktop application developments it is often is decided to be postponed and just use plain text protocols or so and later […]
Also posted in Blog, C++, Cryptography, Research | 7 Comments

Designing tree-like models

We found that developers are often confused about implementing tree-like models using Qt classes. Now we can show some tricks and considerations about the way of designing them. First for some refreshment, let’s remind what you have for addressing the elements in the model. This is QModelIndex, which have pointer to model that created the […]
Also posted in Blog, C++, Models, Research | 2 Comments

Overhead cost of using Qt models

I decided to run very simple test to have glance on performance of Qt models and overhead cost of using them. Something very simple as make 1M random strings with random size (note: rnd_str(int) return some random string with specified size)
Also posted in Blog, C++, Models, Research | 3 Comments

About Boost Multi-index Containers

I really like Qt Template Library (QTL), but still have lack of some important functionality which is usually called multi-index. Anyway there is very powerful implementation existing in Boost. I really need these templates to establish relations between different data structures. I often use it as internal “engine” for different Proxy models that I use […]
Also posted in Blog, Boost, C++, Models, Research | 3 Comments

Designing Undo for large-scale projects. Going deep.

That is huge architect-level article about designing undo in large-scale project, welcome under more label…
Also posted in C++, Misc, Research, Undo | 1 Comment

Stack vs Heap, Pimpl, performance

This post is mostly about C++ but because it involves practices often used with Qt programming too, I tagged it with Qt. Also should be interesting for C++ gurus ;) So, you know that Qt uses Pimpl (Private Implementation or Opaque pointer) which is very effective mechanism to keep binary compatibility between Qt versions. I […]
Also posted in Blog, C++, Research | 4 Comments

Jongling Qt models 2, Composition Gem

We are back to models again :). In Qt you may find a lot of flexibilities for Model-View programming. Especially due to proxies to do filtering, sorting or even rearranging data (see Jongling Qt models) to be organized in any way that is good for you. You can have one data source model which you […]
Also posted in Models, Research | 6 Comments

Submiting a Qt App to Mac App Store

Maybe you already thought about creation a Qt application for Mac App Store or submitting an existing one. While I am on vacations I made a probe of such possibility – you may know that Apple and Nokia developing now different ecosystems of languages/libraries and you may expect to have troubles of bypassing Qt application […]
Also posted in Blog, MacAppStore, Projects, QtSpeech, TogMeg, TTS | 18 Comments

Ru: Archive: Qt приложения в Mac App Store

Возможно многие уже задавались вопросом о возможности создания Qt приложения для Mac App Store или отправке уже существующего. Я давно хотел провести пробу этой возможности – как известно Apple и Nokia развивают сейчас разные экосистемы языков/библиотек и можно ожидать много подводных камней связанных с пропуском Qt приложения. Тем не менее это оказалось не так сложно […]
Also posted in C++, MacAppStore, Projects, QtSpeech, Ru, TogMeg, TTS, Tutorial | Leave a comment

Ru: Archive: QtSpeech, доступ к text-to-speech

Хочу представить небольшой но удобный модуль для кросс-платформенного использования TTS(text-to-speech). На данный момент поддерживаются основные платформы: * Windows, используя SAPI, * Unixes, используя Festival проект, * MacOSX, используя SpeechSynthesis Так как для Windows и Mac используются родныe API то все голосовые движки установленные в систему будут автоматически вам доступны. Для Unix всё не так радужно, […]
Also posted in Blog, C++, Projects, QtSpeech, Research, Ru, TTS | Leave a comment

QtSpeech, say “Hello World!”

I am glad to announce new small project that got first release – QtSpeech. This is library providing Qt-like interface to system TTS (text-to-speech) engines to allow your application to say “Hello World!”.
Also posted in Blog, Projects, QtSpeech, Research, TTS | 28 Comments

SuperHybrids part 2, now Qt + PySide

I would like to return to a topic that I opened few months ago – about creation of “hybrid” applications consisting of one part of c++ code and another part is python based, plus both part access each other with Qt-like Api, so they understand QString, etc and can exchange qt signals between those two […]
Also posted in Blog, Embedding, Hybrids, PySide, Research | 17 Comments

Jongling Qt models

When you work intensively with data in your application then soon or not but you will realize that the best way of keeping them is some model object inherits from QAbstractItemModel, then data are hidden inside implementation of model. Adding, removing and modification are accessible through your API of the model class and it calls […]
Also posted in Blog, Models, Research | 5 Comments

Undo in complex Qt projects

UPDATE: You may consider studying more advanced techniques described in second “undo” article: Designing Undo for large-scale projects. Going deep. ~~~~~ When you implement user interfaces, you should always be ready that your customers will ask very simple question: “Hey, where is undo in my application?”. Sometimes it makes developers totally puzzled :) because they […]
Also posted in Blog, Undo | 4 Comments

Qt Python SuperHybrids

You may know about PyQt – python bindings to Qt frameworks. They are great and allow to prototype gui Qt based code in very fast way. To my mind you can develop faster in 1.5-2 times comparing to same development cycle with Qt. Well, development is little different – you do not have compilation stage, […]
Also posted in Blog, Embedding, Hybrids, PyQt, Research | 5 Comments

Encode BuildId or Version into Application

There is very convenient way to encode identification of builds into applications. Then, for instance, you can show in about dialog something like: Version 20100609. Here is snippet of code:
Also posted in Blog | Leave a comment

Mac: mini font

On Mac you can often see the usage of two system fonts in applications. Second one “Mini” is convenient to use when you would like to have a lot of “mini” controls – mostly you can get it by applying Qt::WA_MacMiniSize. Well then the font is coming from mac style, but what if the font […]
Also posted in Blog | Leave a comment

Copy Folder on Mac and Windows

Developers can often encounter next problem: there is required files and folders manipulations which needed to be implemented in application. For one side there is enough API to do it Qt, but maybe it is too much code to handle all reads/writes, then you need to worry about some progress message, then it could be […]
Also posted in Blog | Leave a comment
Clef two-factor authentication