Cross-platform application on Qt: Foreword

    Qt is a truly wonderful library that allows you to transfer a program to another operating system with a simple recompilation. And if the developer did not use anything OS-specific, it will still look and work almost like a native. After the development of the basic functionality, in which the differences are minimal, the stage of polishing and finishing takes place - this is what the current series of articles will be about.



    Now there is little information on the topic in Runet, it is fragmented, superficial, or already out of date. In the English version there is official documentation on Qt and Stack Overflow, however, it seems to me that the format of articles with practical examples is still more suitable for studying. In the process, I will try to give links to old posts (will be marked with "*") on relevant topics, in order to add systematization to existing material.
    So, there is a very extensive review post about Qt's capabilities, for the most part it is relevant today. Two main areas can be distinguished: behavior and appearance. How the program should look and behave is described in the corresponding H I G, and the library takes up most of the work, even to the point of changing the order of buttons in standard dialogs. The other part, the more subtle and specific moments - will have to be implemented, although by Qt, but still manually. For example, applying changes to Windows usuallyoccurs when a button is pressed, in OS X - instantly. With the display, too, everything is fine - applications do not hurt the eyes, do not get out of the general style, but there are enough problems, especially in OS X: a frankly scary standard calendar, curved gradients of table headers, outdated groupBox - this is an incomplete list of candidates for polishing. But still high-definition displays, a global menu, Dock, notifications. Restrictions on display when drag-n-drop on Windows, quest with the installation of banal icons on Linux. A separate item is preparing for distribution, which is also very specific.

    Content:

    PS The list of topics will probably be replenished, if there are suggestions, I will try to consider them.

    Also popular now: