之間的交互我想使用一些QML文件(main.qml
),但在此之前,我需要得到用戶的一些認證信息(登錄,傳遞)。所以,我想這樣做,在第二個窗口(login.qml
)。我看到Qt.createComponent
打開第二QML文件,但我無法擺脫這種類型的窗口的任何信息。2個QML文件
因此,如何能我使用第二個窗口中的第一個窗口的一些信息?
或者我該如何在父qml文件中動態加載這些項目(main.qml
,login.qml
)?
之間的交互我想使用一些QML文件(main.qml
),但在此之前,我需要得到用戶的一些認證信息(登錄,傳遞)。所以,我想這樣做,在第二個窗口(login.qml
)。我看到Qt.createComponent
打開第二QML文件,但我無法擺脫這種類型的窗口的任何信息。2個QML文件
因此,如何能我使用第二個窗口中的第一個窗口的一些信息?
或者我該如何在父qml文件中動態加載這些項目(main.qml
,login.qml
)?
我怎樣才能從單獨的文件/資源動態負荷QML項 另一QML文件?
Qt.CreateComponent
允許您使用JavaScript從其他文件動態創建和使用QML代碼。
那麼我怎樣才能從第一個窗口的第二個窗口使用一些信息?
這僅僅是一個做它的方式:
main.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1
ApplicationWindow {
width: 400
height: 400
visible: true
ColumnLayout {
id: logItems
height: 200
Button {
id: loginButton
onClicked: loginForm.visible = true
text: "Log in"
}
Login {
anchors.top: loginButton.bottom
id: loginForm
visible: false
onLoginInfo: {
logInfo.text = "User:" + user + " password: " + password
}
}
}
Text {
id: logInfo
anchors.top : logItems.bottom
}
}
Login.qml
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Layouts 1.1
Item {
signal loginInfo(string user, string password)
ColumnLayout {
RowLayout {
TextField {
id: user
}
TextField {
id: password
}
}
Button {
text: "Submit"
onClicked: loginInfo(user.text, password.text)
}
}
}