In the previous sections, we finished discussing almost all of the features of our Literacy application. In this section, in order to improve the user experience of the application, we will add a feature to allow the user to grab a part of the screen as the input image of the application. With this feature, the user can click the mouse button and then drag it to select a rectangular region of the screen as an image. Then, they can either save the image as a file or perform OCR on it.
We will create a new class to implement this feature. The new class is called ScreenCapturer, and is defined in the header file, screencapturer.h:
class ScreenCapturer : public QWidget {
Q_OBJECT
public:
explicit ScreenCapturer(MainWindow *w);
~ScreenCapturer();
protected:
void paintEvent(QPaintEvent *event) override;
...