上按OK加載另一個qml ui我試圖爲使用Qt Quick Controls 2的Windows桌面應用程序構建登錄表單。我希望登錄頁面顯示成功或失敗消息。在用戶按下Ok
後成功登錄表單應該被隱藏,並且應該顯示另一個SettingsForm
。在登錄失敗登錄表單應在用戶按下後再次顯示Ok
登錄表單和設置表單都有其單獨的qml
和ui.qml
文件。Qt Quick Controls 2在消息
我無法實現登錄成功時切換到SettingsForm的功能。這是我這麼遠:
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.3
ApplicationWindow {
visible: true
width: 900
height: 600
title: qsTr("Welcome!")
maximumHeight: height
maximumWidth: width
minimumHeight: height
minimumWidth: width
x: Screen.width/2 - width/2
y: Screen.height/2 - height/2
SwipeView {
id: swipeView
anchors.fill: parent
Page1Form {
login.onClicked: {
if (username.text == "a" && password.text == "a") {
message.title = "Login success!"
message.visible = true
}
else {
message.title = "Login Failed! Try Again."
message.visible = true
}
}
}
}
代碼信息對話框:
Dialog
{
id: message
width: 300
height: 100
x:-10
standardButtons: Dialog.Ok
modal: true
onAccepted: visible=false
}
我試着插入:
SettingsForm {
}
message.title = "Login success!"
之後,但它不工作。
編輯:
對話框看起來像這樣在成功登錄:
你在哪裏實例化你的'Dialog'?它是什麼樣的'Dialog'? ['QtQuick.Dialogs'](http://doc.qt.io/qt-5/qtquickdialogs-index.html)或['QtQuick.Controls 2.x'](https:// doc。 qt.io/qt-5/qml-qtquick-controls2-dialog.html)? – derM
在Page1Form.ui.qml文件中實例化。它來自QtQuick.Controls –
爲問題 –