Category Archives: Qt
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 […]
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…
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 всё не так радужно, […]
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!”.
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 6 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
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
Ru: Archive: Шифруемся в Qt (2013)