我正在尝试使用代码进行QPushButton
环视,该代码似乎可以正常工作,但执行后,它只显示椭圆的一半,谁能帮我弄清楚为什么只显示它的一半,它关于m_bouton1
?
我之前检查过这个链接Change rectangle Qt button to round
但它不起作用,它只出现了一半。
#include <QtWidgets>
#include "MyFenetre.h"
#include "MyWindow.h"
MyFenetre::MyFenetre() : QWidget()
{
setFixedSize(300, 150);
m_bouton = new QPushButton("Salut", this);
m_bouton->setFont(QFont("Comic Sans MS", 14));
m_bouton->move(110, 50);
m_bouton1=new QPushButton("Boutton RounD (*)");
m_bouton1->setFixedHeight(200);
m_bouton1->setFixedWidth(200);
QRect *rect = new QRect(0,0,190,190);
qDebug() << rect->size();
qDebug() << m_bouton1->size();
QRegion *region = new QRegion(*rect,QRegion::Ellipse);
qDebug() << region->boundingRect().size();
m_bouton1->setMask(*region);
QVBoxLayout *login_form= new QVBoxLayout;
login_form->addWidget(m_bouton);
login_form->addWidget(m_bouton1);
setLayout(login_form);
setWindowTitle("Button test");
//setWindowIcon(QIcon("icone.png"));
// Connexion du clic du bouton à la fermeture de l'application
QObject::connect(m_bouton, SIGNAL(clicked()), this, SLOT(changerFen()));
QObject::connect(m_bouton1, SIGNAL(clicked()), this, SLOT(changerFen()));
}
void MyFenetre::changerFen()
{
int f = 1;
emit askDisplayFen(f);
}