munna
24th November 2006, 13:45
Hi,
I'll try my best to explain things in details
Here is the code I tried
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::Ellips e));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Elli pse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Elli pse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::El lipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
Result
1. No Title Bar (Widget is Frameless)
2. registerButton is clickable.
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::Ellips e));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Elli pse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Elli pse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::El lipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
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.
I'll try my best to explain things in details
Here is the code I tried
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::Ellips e));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Elli pse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Elli pse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::El lipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
Result
1. No Title Bar (Widget is Frameless)
2. registerButton is clickable.
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::Ellips e));//Top-Left
maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Elli pse));//Top-Right
maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Elli pse));//Bottom-Left
maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::El lipse));//Bottom-Right
setMask(maskRegion);
registerButton = new QPushButton(tr("Enter registraion key"),this);
}
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.