void MainWindow::paintEvent( QPaintEvent * event)
{
/*
QPainter painter(this);
*/
QColor shadowColor;
shadowColor = QColor(0, 0, 0, 100); //阴影颜色设置
QPainter painter(this);
painter.setRenderHint(QPainter::HighQualityAntialiasing);
painter.fillRect(0, 0, this->rect().width(), this->rect().height(), shadowColor); //画影罩效果
painter.setCompositionMode(QPainter::CompositionMode_Source);
painter.fillRect(0, 0, 300, 300, QColor(255,255,255,10));
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
// painter.setCompositionMode(QPainter::CompositionMode_Clear);
/*
setAttribute(Qt::WA_TranslucentBackground, true);
painter.setRenderHint(QPainter::HighQualityAntialiasing);
painter.fillRect(0, 0, this->rect().width(), this->rect().height(), shadowColor); //画影罩效果
painter.setCompositionMode(QPainter::CompositionMode_Clear);
*/
// painter.setBackgroundMode(Qt::TransparentMode);
// paint
【QT】FillRect填充的区域实现部分区域透明
最新推荐文章于 2024-07-16 14:38:52 发布