ДС
Feb. 1, 2022, 2:15 p.m.
Синхронизация анимаций в ListView
Добрый день. Столкнулся с проблемой синхронизации анимации разных делегатов. У меня есть ListView, в котором хранятся делегаты состояния сети, я навешиваю анимацию на индикатор состояния при переходя состояний. Вопрос, как синхронизировать анимации внутри делегатов, чтобы они меняли свойство opacity в "такт".
- ListView {
- id: networkList
- model: ListModel { id: networksModel }
- highlightMoveDuration : 200
- orientation: ListView.Horizontal
- anchors.right: right_button.left
- anchors.left: left_button.right
- anchors.top: parent.top
- anchors.bottom: parent.bottom
- anchors.leftMargin: 10 * pt
- anchors.rightMargin: 10 * pt
- delegate: networkItem
- interactive: false
- clip: true
- }
- Component {
- id: networkItem
- Item {
- id:controlDelegate
- width: networksModel.count > visible_count -1 ? item_width : parent.parent.width/networksModel.count
- height: 40
- RowLayout {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- spacing: 5 * pt
- Text {
- id: nameNet
- Layout.fillWidth: true
- font: dapQuicksandFonts.dapMainFontTheme.dapFontQuicksandBold12
- color: currTheme.textColor
- text: name
- }
- ImageLoader{
- id:img
- Layout.alignment: Qt.AlignVCenter
- Layout.preferredHeight: 8 * pt
- Layout.preferredWidth: 8 * pt
- innerWidth: 8 * pt
- innerHeight: 8 * pt
- source: networkState === "OFFLINE" ? "qrc:/resources/icons/" + pathTheme + "/indicator_offline.png" :
- networkState === "ERROR" ? "qrc:/resources/icons/" + pathTheme + "/indicator_error.png":
- "qrc:/resources/icons/" + pathTheme + "/indicator_online.png"
- }
- SequentialAnimation {
- NumberAnimation {
- target: img
- properties: "opacity"
- from: 1.0
- to: 0.1
- duration: 1000
- }
- NumberAnimation {
- target: img
- properties: "opacity"
- from: 0.1
- to: 1.0
- duration: 1000
- }
- loops:Animation.Infinite
- running: networkState !== targetState? true : false
- onRunningChanged:
- {
- if(!running)
- img.opacity = 1;
- }
- }
- }
- }
- }
- }
1
99
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…