【问题标题】:Make QT Widgets semi-opaque使 QT Widgets 半透明
【发布时间】:2011-11-18 04:13:55
【问题描述】:

我正在使用包含子元素的 QWidget 元素,我需要一些方法来使这个小部件完全半透明,包括它的子元素。

我见过 QWidgets 的一种方法,它是 QWidget::setWindowOpacity() 但这仅在小部件本身是窗口时才有效,并且在我的情况下,此小部件是布局的一部分。

所有这一切的目标,是我能够让这个小部件在出现或消失时消失。

感谢您的任何想法,希望不要制作自定义小部件,但如果没有其他选择,我无论如何都可以做到。

【问题讨论】:

    标签: c++ qt widget transparency opacity


    【解决方案1】:

    您可以使用QGraphicsOpacityEffect

    50% 透明度的示例代码片段是:

    ui->setupUi(this);
    QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->pushButton);
    effect->setOpacity(0.5);
    ui->pushButton->setGraphicsEffect(effect);
    

    【讨论】:

    • 工作得很好,我可以使用 QPropertyAnimation 正确地对其进行动画处理。非常感谢您对社会的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多