• 3579阅读
  • 1回复

Re:求帮忙求帮忙!!! [复制链接]

上一主题 下一主题
离线雪地飘风
 

只看楼主 倒序阅读 楼主  发表于: 2015-08-06
怎样将一个对话框的四个角设置为圆角,,不能用背景图片,先drawRoundedRect(),然后在setMask,setMask会将整个对话框变为透明,对话框里边的控件都不见了。不知道该怎么修改,求大神给点思路
离线shiziyang

只看该作者 1楼 发表于: 2015-08-07
        int nRadius = 10;
        QRegion mask[6];
        QRegion maskAll;
        mask[0] = QRegion(0, 0, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
        maskAll += mask[0];
        mask[1] = QRegion(width() - nRadius * 2, 0, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
        maskAll += mask[1];
        mask[2] = QRegion(0, height() - nRadius * 2, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
        maskAll += mask[2];
        mask[3] = QRegion(width() - nRadius * 2, height() - nRadius * 2, 2 * nRadius, 2 * nRadius, QRegion::Ellipse);
        maskAll += mask[3];
        mask[4] = QRegion(nRadius, 0, width() - 2 * nRadius, height(), QRegion::Rectangle);
        maskAll += mask[4];
        mask[5] = QRegion(0, nRadius, width(), height() - 2 * nRadius, QRegion::Rectangle);
        maskAll += mask[5];
        thisDlg->setMask(maskAll);
快速回复
限100 字节
 
上一个 下一个