Hi,

I'll try my best to explain things in details

Here is the code I tried

Qt Code:
  1. EvlDialog::EvlDialog(QWidget *parent) : QDialog(parent)
  2. {
  3. setModal(true);
  4. setAttribute(Qt::WA_DeleteOnClose);
  5.  
  6. setFixedSize(400,120);
  7. setAutoFillBackground(true);
  8.  
  9. //Let us make the edges curved
  10. QRegion maskRegion(10,10,380,100);
  11. maskRegion = maskRegion.unite(QRegion(0,10,10,100));//Left
  12. maskRegion = maskRegion.unite(QRegion(390,10,10,100));//Right
  13. maskRegion = maskRegion.unite(QRegion(10,0,380,10));//Top
  14. maskRegion = maskRegion.unite(QRegion(10,110,380,10));//Bottom
  15.  
  16. maskRegion = maskRegion.unite(QRegion(0,0,20,20,QRegion::Ellipse));//Top-Left
  17. maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Ellipse));//Top-Right
  18. maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Ellipse));//Bottom-Left
  19. maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::Ellipse));//Bottom-Right
  20. setMask(maskRegion);
  21.  
  22. registerButton = new QPushButton(tr("Enter registraion key"),this);
  23. }
To copy to clipboard, switch view to plain text mode 

Result
1. No Title Bar (Widget is Frameless)
2. registerButton is clickable.

Qt Code:
  1. EvlDialog::EvlDialog(QWidget *parent) : QWidget(parent)
  2. {
  3. setWindowModality(Qt::WindowModal);
  4. setAttribute(Qt::WA_DeleteOnClose);
  5.  
  6. setFixedSize(400,120);
  7. setAutoFillBackground(true);
  8.  
  9. //Let us make the edges curved
  10. QRegion maskRegion(10,10,380,100);
  11. maskRegion = maskRegion.unite(QRegion(0,10,10,100));//Left
  12. maskRegion = maskRegion.unite(QRegion(390,10,10,100));//Right
  13. maskRegion = maskRegion.unite(QRegion(10,0,380,10));//Top
  14. maskRegion = maskRegion.unite(QRegion(10,110,380,10));//Bottom
  15.  
  16. maskRegion = maskRegion.unite(QRegion(0,0,20,20,QRegion::Ellipse));//Top-Left
  17. maskRegion = maskRegion.unite(QRegion(380,0,20,20,QRegion::Ellipse));//Top-Right
  18. maskRegion = maskRegion.unite(QRegion(0,100,20,20,QRegion::Ellipse));//Bottom-Left
  19. maskRegion = maskRegion.unite(QRegion(380,100,20,20,QRegion::Ellipse));//Bottom-Right
  20. setMask(maskRegion);
  21.  
  22. registerButton = new QPushButton(tr("Enter registraion key"),this);
  23. }
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.