Изменить прямоугольную кнопку Qt на круглую

Я пытаюсь создать круглую кнопку в Qt. Простая форма с одной кнопкойQPushButton был создан в дизайнере. Я пытаюсь превратить это в круглую кнопку, используяsetMask(), Как толькоsetMask() применяется кнопка исчезает. Нужно ли создавать собственный виджет, чтобы сделать круглую кнопку?

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QtGui/QPushButton>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    ui->pushButton->setText("Test Text");
    ui->pushButton->setFixedHeight(200);
    ui->pushButton->setFixedWidth(200);

    //Set Starting point of region 5 pixels inside , make region width & height
    //values same and less than button size so that we obtain a pure-round shape

    QRegion* region = new QRegion(*(new QRect(ui->pushButton->x()+5,ui->pushButton->y()+5,190,190)),QRegion::Ellipse);
    ui->pushButton->setMask(*region);
    ui->pushButton->show();


}

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

void MainWindow::on_pushButton_clicked()
{
    QMessageBox msgbox;
    msgbox.setText("Text was set");
    msgbox.show();

}

Примечание. Если кнопка создается в коде и применяется к окну до его отображения, кнопка отображается. Я хотел бы использовать возможности WYSIWIG Qt Designer, а не создавать всю форму в коде.

Ответы на вопрос(2)

Ваш ответ на вопрос