Rowlayout и Flickable в qml ⇐ C++
Rowlayout и Flickable в qml
Я пытался реализовать перелистывание вместе с макетом строк... Но мне не удалось реализовать эту функциональность. Перелистываемый { идентификатор: flickableRow ширина: родительская.ширина высота: 200 contentWidth: rowLayout.width flickableDirection: Flickable.HorizontalFlick boundsBehavior: Flickable.StopAtBounds
RowLayout { идентификатор: rowLayout х: 149 год: 750 интервал: 20 // Изображение 2 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[1] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 1; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } // Изображение 3 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[2] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 2; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Прямоугольник{ Layout.preferredWidth: 200 Layout.preferredHeight: 200 } Прямоугольник{ Layout.preferredWidth: 200 Layout.preferredHeight: 200 } // Изображение 4 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[3] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 3; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } // Изображение 5 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[4] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 4; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: image8 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[5] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 5; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: image9 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[6] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 6; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение10 х: 1228 г: 715 Layout.preferredWidth: 200 Layout.preferredHeight: 200 режим заполнения: Изображение.PreserveAspectFit источник: FrameSources[7] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 7; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение11 х: 1440 г: 715 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[8] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 8; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение1 Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[0] fillMode: Image.PreserveAspectFit MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 0; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } } } Я попробовал использовать функцию автоматического смахивания влево, функция вызывается каждую секунду... все работает нормально.
Я пытался реализовать перелистывание вместе с макетом строк... Но мне не удалось реализовать эту функциональность. Перелистываемый { идентификатор: flickableRow ширина: родительская.ширина высота: 200 contentWidth: rowLayout.width flickableDirection: Flickable.HorizontalFlick boundsBehavior: Flickable.StopAtBounds
RowLayout { идентификатор: rowLayout х: 149 год: 750 интервал: 20 // Изображение 2 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[1] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 1; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } // Изображение 3 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[2] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 2; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Прямоугольник{ Layout.preferredWidth: 200 Layout.preferredHeight: 200 } Прямоугольник{ Layout.preferredWidth: 200 Layout.preferredHeight: 200 } // Изображение 4 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[3] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 3; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } // Изображение 5 Изображение { Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[4] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 4; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: image8 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[5] MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 5; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: image9 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[6] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 6; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение10 х: 1228 г: 715 Layout.preferredWidth: 200 Layout.preferredHeight: 200 режим заполнения: Изображение.PreserveAspectFit источник: FrameSources[7] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 7; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение11 х: 1440 г: 715 Layout.preferredWidth: 200 Layout.preferredHeight: 200 fillMode: Image.PreserveAspectFit источник: FrameSources[8] MouseArea { якоря.bottomMargin: -8 якоря.leftMargin: 0 якоря.rightMargin: 0 якоря.topMargin: 8 якоря.заполнение: родительский onClicked: { изображение.источник = родительский.источник; valueSource.currentIndex = 8; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } Изображение { идентификатор: изображение1 Layout.preferredWidth: 200 Layout.preferredHeight: 200 источник: FrameSources[0] fillMode: Image.PreserveAspectFit MouseArea { якоря.заполнение: родительский onClicked: { valueSource.currentIndex = 0; mediaPlayer.source = valueSource.selectedFilePaths[valueSource.currentIndex]; медиаплеер.играть(); изображение.источник = родительский.источник; music_file.clickCounts[valueSource.currentIndex]++; music_file.updateMostClickedFrames(); } } } } } Я попробовал использовать функцию автоматического смахивания влево, функция вызывается каждую секунду... все работает нормально.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Пользовательский тип C++ из модуля QML не определен при использовании внутри файла QML.
Anonymous » » в форуме C++ - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-