Как создать окно QWidget специфической формы?

Собственно, мне требуется создать окно специфической формы. И я не знаю как это реализовать, чтобы мне не пришлось переписывать добрую часть существующих методов QWidget. Требуемый результат могу представить в изображении Прототип


Ответы (1 шт):

Автор решения: Sergey Tatarintsev

На минималках так:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QBitmap>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QPixmap mask( "/tmp/mask.png" );
    setMask( mask.scaled(size()).mask() );
}

MainWindow::~MainWindow()
{
    delete ui;
}

mask.png - маска, по которой будет сделана форма окна.

→ Ссылка