模态对话框不管是通过样式表设置透明的PNG背景图还是通过加载QPixmap并且setMask绘制到背景上,透明区域都是灰色的,具体什么原因导致的暂且不深究。
解决方法:
/QDialog 初始化设置/
this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
this->setAttribute(Qt::WA_TranslucentBackground);
QFrame* m_Frame_Back = new QFrame(this);
m_Frame_Back->setStyleSheet("QFrame{border-image: url(:/back.png);}");
如果设置QDialog窗口圆角,按照上面的代码通用能够实现(只需要将样式表代码修改):
m_Frame_Back->setStyleSheet("QFrame{border-radius: 10px;}");
网友评论