我的屏幕上有许多对象,我更改了不透明度,并且为了使此不透明度更改为动画而不是瞬时,我将此 .block {
background: orange;
height: 500px;
}
.centered {
text-align: center;
background: pink;
position: relative;
top: 0;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.block:hover .centered {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
top: 50%;
}
添加到每个对象:
Behavior
我试图将其子类化(不确定"子类"这里是否是正确的术语)。我已经创建了一个名为Behavior on opacity {
NumberAnimation {
duration: 500
easing.type: Easing.InOutQuad
}
}
的文件,其中包含以下内容:
FadeBehavior.qml
然后,我没有将import QtQuick 2.3
import QtQuick.Controls 1.3 as Controls
Behavior on opacity {
id: fadeBehavior
NumberAnimation {
duration: 500
easing.type: Easing.InOutQuad
}
}
添加到每个对象,而是添加:
Behavior
但是这不起作用(抱歉,我无法添加更多信息而不是"没有工作" - 这是一个继承的应用程序,我无法在调试模式下运行它;当我在我的QML文件中出错,所有发生的事情就是我的窗口显示为空白的1英寸方块。
似乎第一行中的FadeBehavior { }
是Qt不喜欢的部分。 on opacity
FadeBehavior.qml
标有红色下划线,需要令牌on opacity
。是否有其他语法用于指定{
附加到的属性的名称?
答案 0 :(得分:0)
这是一个可以解决的问题。
将您需要的所有标准类型(Rectangle
,Item
,Image
等)归类为此类
Item {
Behavior on opacity {
NumberAnimation {
duration: 500
easing.type: Easing.InOutQuad
}
}
}
将其另存为 MyItem.qml ,并将每Item
更改为MyItem
。