我需要为小部件透明度设置动画。 在我看来,我应该使用QPropertyAnimation。但我怎么能定义小部件半透明?我应该使用like this吗?
答案 0 :(得分:8)
根据我至少玩过的内容,你的问题有两个子答案:
opacity
。不幸的是,这意味着使用代理窗口小部件QGrapgicsProxyWidget来保持正常窗口小部件与其图形窗口小部件同步,因为QGraphicsWidget不继承QWidget。要了解更多信息,请查看Animation Framework Examples,特别是状态机,了解如何使用代理小部件。 windowOpacity
动画:
QPropertyAnimation animate = new QPropertyAnimation(this, "windowOpacity", this);
animate.setDuration(100); animate.setStartValue(1); animate.setEndValue(0);
animate.start();
这仅适用于支持某种Composite扩展的系统。
希望它有所帮助!
答案 1 :(得分:0)
您可以尝试使用QWidget中的windowOpacity
属性。如果这不起作用,您可能需要定义自己的属性并在小部件的paint事件中使用它。