The Qt framework allows automatic optimization of the program's interface for any monitor resolution or window size change. This can be done using Qt layouts.
So... In honor of Cosmonautics Day and coincidentally the faculty day at our university, I had a great chance to win some money and participate in a contest of physical modelers... One of the tasks was to write a billiard game on Qt (well, I've embellished it with Qt =) Here's what I came up with.
In our first lesson (/start-working-with-atmel-avr-microcontrollers/), we got acquainted with the working principle of microcontrollers. But, of course, it's not very convenient to simply write numbers in binary or hexadecimal form in registers. What if you need to change only one bit on a port, without touching the others? Change its value from 0 to 1 or vice versa? We'll answer that question a little later.
Microcontroller - a device, a microchip, designed to control other devices. The microcontroller contains a processor, memory, as well as peripheral devices. In fact, the controller "toggles its pins" - sends pulses of different duration to the pins.
Using QwtPlotSpectroCurve (first familiarize yourself with QwtPlotCurve here) you can display information that requires representation in three dimensions; create pseudo 3D graphs on a two-dimensional plane. The third dimension will be conveyed through color gradients - these graphs are called spectrograms. Unlike the QwtPlotSpectrogram component, you control each point on the curve, rather than intervals. The QwtPlotSpectroCurve component is less functional but more logical for graph plotting.
MVC principle in web programming (Model - View - Controller) is one of the most successful ideas to date. The MVC principle is intuitive at first glance, but not very simple when delving into it. First, let's consider what it is intended for.
To study the material of the article "Rotating a Scene in OpenGL Using the Mouse", you first need to study the material of this article.
The idea is very simple - intercept the mouse event, determine the mouse pointer movement speed, and based on this, calculate the scene rotation angle. Essentially the same as in the previous example, but the rotation is not done by a timer, but by a mouse event (mouse movement with a pressed button).