int nRadius = 10;
QRegion mask[6];
QRegion maskAll;
mask[0] = QRegion(0, 0, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
maskAll += mask[0];
mask[1] = QRegion(width() - nRadius * 2, 0, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
maskAll += mask[1];
mask[2] = QRegion(0, height() - nRadius * 2, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
maskAll += mask[2];
mask[3] = QRegion(width() - nRadius * 2, height() - nRadius * 2, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
maskAll += mask[3];
mask[4] = QRegion(nRadius, 0, width() - 2 * nRadius, height(), QRegion::Rectangle);
maskAll += mask[4];
mask[5] = QRegion(0, nRadius, width(), height() - 2 * nRadius, QRegion::Rectangle);
maskAll += mask[5];
thisDlg->setMask(maskAll);