背景:
自写一个MyDialog,继承自Dialog,想要改变MyDialog的样式为圆角或者圆形,改样式表等都不生效,放在QFrame中虽然可行,但是着色又会有问题。
解决办法:
在MyDialog的构造函数中重绘样式。
setWindowFlags( Qt::Dialog | Qt::FramelessWindowHint );
QBitmap bmp( this->size() );
bmp.fill();
QPainter p( &bmp );
p.setPen( Qt::NoPen );
p.setBrush( Qt::black );
p.setRenderHint( QPainter::Antialiasing, true );
p.drawRoundedRect( bmp.rect(), 195, 195 );
setMask( bmp );