в SwipeView со слотом у SwipeView
минимальный пример функции добавления страницы есть тут в ответе со стековерфлоу
https://stackoverflow.com/questions/53394259/add-dynamically-qml-page-on-swipeview-qml/53395191
там где функция createPage создается component. можно ли от него как то получить сигнал? как я понял, Connections тут не сработает
вообще это какой-то не QML way, хочешь что-то добавить динамически, используй модель и Repeater
посмотри в сторону эдемента Connections
или там, где создаешь элемент, пишешь item.signalName.connect(slot) если память не изменяет
import QtQuick 2.12 import QtQuick.Controls 2.5 import QtQuick.Layouts 1.12 ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Tabs") ListModel { id: pageModel ListElement { source: "Page1Form.ui.qml" } ListElement { source: "Page2Form.ui.qml" } } SwipeView { id: swipeView anchors.fill: parent currentIndex: tabBar.currentIndex Repeater { model: pageModel Item { ColumnLayout { anchors.fill: parent Button { text: model.source onClicked: { pageModel.append({ "source": model.source }) } } Loader { source: model.source } } } } } footer: TabBar { id: tabBar currentIndex: swipeView.currentIndex Repeater { model: pageModel TabButton { text: model.source } } } }
Обсуждают сегодня