Hi,
I'll try my best to explain things in details
Here is the code I tried
{
setModal(true);
setAttribute(Qt::WA_DeleteOnClose);
setFixedSize(400,120);
setAutoFillBackground(true);
//Let us make the edges curved
maskRegion
= maskRegion.
unite(QRegion(0,
10,
10,
100));
//Left maskRegion
= maskRegion.
unite(QRegion(390,
10,
10,
100));
//Right maskRegion
= maskRegion.
unite(QRegion(10,
0,
380,
10));
//Top maskRegion
= maskRegion.
unite(QRegion(10,
110,
380,
10));
//Bottom
maskRegion
= maskRegion.
unite(QRegion(0,
0,
20,
20,
QRegion::Ellipse));
//Top-Left maskRegion
= maskRegion.
unite(QRegion(380,
0,
20,
20,
QRegion::Ellipse));
//Top-Right maskRegion
= maskRegion.
unite(QRegion(0,
100,
20,
20,
QRegion::Ellipse));
//Bottom-Left maskRegion
= maskRegion.
unite(QRegion(380,
100,
20,
20,
QRegion::Ellipse));
//Bottom-Right setMask(maskRegion);
registerButton
= new QPushButton(tr
("Enter registraion key"),
this);
}
EvlDialog::EvlDialog(QWidget *parent) : QDialog(parent)
{
setModal(true);
setAttribute(Qt::WA_DeleteOnClose);
setFixedSize(400,120);
setAutoFillBackground(true);
//Let us make the edges curved
QRegion maskRegion(10,10,380,100);
maskRegion = maskRegion.unite(QRegion(0,10,10,100));//Left
maskRegion = maskRegion.unite(QRegion(390,10,10,100));//Right
maskRegion = maskRegion.unite(QRegion(10,0,380,10));//Top
maskRegion = maskRegion.unite(QRegion(10,110,380,10));//Bottom
maskRegion = maskRegion.unite(QRegion(0,0,20,20,QRegion::Ellipse));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Ellipse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Ellipse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::Ellipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
To copy to clipboard, switch view to plain text mode
Result
1. No Title Bar (Widget is Frameless)
2. registerButton is clickable.
{
setWindowModality(Qt::WindowModal);
setAttribute(Qt::WA_DeleteOnClose);
setFixedSize(400,120);
setAutoFillBackground(true);
//Let us make the edges curved
maskRegion
= maskRegion.
unite(QRegion(0,
10,
10,
100));
//Left maskRegion
= maskRegion.
unite(QRegion(390,
10,
10,
100));
//Right maskRegion
= maskRegion.
unite(QRegion(10,
0,
380,
10));
//Top maskRegion
= maskRegion.
unite(QRegion(10,
110,
380,
10));
//Bottom
maskRegion
= maskRegion.
unite(QRegion(0,
0,
20,
20,
QRegion::Ellipse));
//Top-Left maskRegion
= maskRegion.
unite(QRegion(380,
0,
20,
20,
QRegion::Ellipse));
//Top-Right maskRegion
= maskRegion.
unite(QRegion(0,
100,
20,
20,
QRegion::Ellipse));
//Bottom-Left maskRegion
= maskRegion.
unite(QRegion(380,
100,
20,
20,
QRegion::Ellipse));
//Bottom-Right setMask(maskRegion);
registerButton
= new QPushButton(tr
("Enter registraion key"),
this);
}
EvlDialog::EvlDialog(QWidget *parent) : QWidget(parent)
{
setWindowModality(Qt::WindowModal);
setAttribute(Qt::WA_DeleteOnClose);
setFixedSize(400,120);
setAutoFillBackground(true);
//Let us make the edges curved
QRegion maskRegion(10,10,380,100);
maskRegion = maskRegion.unite(QRegion(0,10,10,100));//Left
maskRegion = maskRegion.unite(QRegion(390,10,10,100));//Right
maskRegion = maskRegion.unite(QRegion(10,0,380,10));//Top
maskRegion = maskRegion.unite(QRegion(10,110,380,10));//Bottom
maskRegion = maskRegion.unite(QRegion(0,0,20,20,QRegion::Ellipse));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Ellipse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Ellipse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::Ellipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
To copy to clipboard, switch view to plain text mode
Result
1. Widget is frameless
2. Button is not clickable. EvlDialog is behaving as if there is another widget on top which is modal.
Can someone please explain the reason for this kind of behavior.
Thanks a lot.
Bookmarks