我已经通过重写paintEvent事件将代码里面做了如下操作:复制代码// 生成一张位图 QBitmap objBitmap(size()); // QPainter用于在位图上绘画 QPainter painter(&objBitmap); // 圆角平滑 painter.setRenderHints(QPainter::Antialiasing |QPainter::HighQualityAntialiasing |QPainter::SmoothPixmapTransform, true); // 填充位图矩形框(用白色填充) painter.fillRect(rect(), Qt::white); painter.setBrush(QColor(0, 0, 0)); // 在位图上画圆角矩形(用黑色填充) painter.drawRoundedRect(this->rect(), 5, 5); // 使用setmask过滤即可,被圆角切除部分用白色填充 setMask(objBitmap);但是,圆角是实现了,可是那个角它不是圆滑。我也已经设置了:Antialiasing属性。效果图如下:

我看到像QQ和360这样的软件,圆角很平常,而且还有一条细边框。他们是怎么实现的呢?求各位赐教!!!谢了。!