做了一个系统登录界面,登录背景图是在Qt Designer中设置Stylesheet加载出来的。背景图显示后在背景图相应位置添加用户名,密码,登陆按钮等控件。
现在的问题是:当设置了登陆框为圆角时(styleSheet内容:#LoginDlg{background-image: url(:/Login/Bin/Debug/skins/black/images/loginIcon/login-logo.png);border-radius:20px},背景图被裁剪成圆角了,但整个登陆框并没有剪成圆角,四个角会露出白色部分。
解决方法 1 :
1. 重新做了一个背景图,photoshop编辑背景图radius为20,四个角透明。
2. styleSheet只需要加载背景图
Qss:#LoginDlg{background-image: url(:/Login/login-logo.png);}
3. LoginDlg源程序中获得该背景图
QPixmap pm(":Login/login-logo.png");
// setMask() 设置不规则形状窗体;
LoginDlg->setMask(pm.mask());
或者用颜色
void Widget::resizeEvent(QResizeEvent *e)
{