使 QT Widgets 半透明
Posted
技术标签:
【中文标题】使 QT Widgets 半透明【英文标题】:Make QT Widgets semi-opaque 【发布时间】:2011-11-18 04:13:55 【问题描述】:我正在使用包含子元素的 QWidget 元素,我需要一些方法来使这个小部件完全半透明,包括它的子元素。
我见过 QWidgets 的一种方法,它是 QWidget::setWindowOpacity() 但这仅在小部件本身是窗口时才有效,并且在我的情况下,此小部件是布局的一部分。
所有这一切的目标,是我能够让这个小部件在出现或消失时消失。
感谢您的任何想法,希望不要制作自定义小部件,但如果没有其他选择,我无论如何都可以做到。
【问题讨论】:
【参考方案1】:您可以使用QGraphicsOpacityEffect。
50% 透明度的示例代码片段是:
ui->setupUi(this);
QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->pushButton);
effect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(effect);
【讨论】:
工作得很好,我可以使用 QPropertyAnimation 正确地对其进行动画处理。非常感谢您对社会的帮助。以上是关于使 QT Widgets 半透明的主要内容,如果未能解决你的问题,请参考以下文章