gpt4 book ai didi

c++ - QT:阴影窗口效果(熄灯)

转载 作者:行者123 更新时间:2023-11-28 02:23:20 25 4
gpt4 key购买 nike

我正在从我的主窗口打开一个模态窗口,我的兴趣是使背景变暗,以便顶部窗口完全可见,但主窗口看起来像在“阴影”中一样暗。

最佳答案

您可以在主窗口上显示一些半透明的小部件,它会产生阴影效果。

比如这样的widget。

class Overlay : public QWidget
{
public:
Overlay(QWidget *parent) {
setPalette(Qt::transparent);
setAttribute(Qt::WA_TransparentForMouseEvents);
}

protected:
void paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(QBrush(QColor(0,0,0, 150)));
painter.setPen(Qt::NoPen);
painter.drawRect(rect());
}
};

然后创建这个小部件,调整大小并显示:

overlay_.reset(new Overlay(this));
overlay_->resize(size());
overlay_->setVisible(true);

您可以通过在 paintEvent 中更改画笔来调整阴影颜色和透明度。希望这是你想要的效果。

关于c++ - QT:阴影窗口效果(熄灯),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31529110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com