在我的Qt快速(QT V5.4和QtQuick 2.4)的項目,我有這五個.qml
文件:在同一個文件中實現多個窗口的功能?
- MainForm.ui.qml - 它包含應用程序
- main.qml的主窗口 - 包含mainForm.ui.qml對象的所有功能實現,例如onClicked事件,調用C++函數從textInputs等獲取值。
問:我當前的實現功能的設置是否正確?或者我應該在同一個文件中實現所有這些東西?
- dialog1.qml - 包含一些設置等
- dialog2.qml一些文本輸入 - 對於一些列表和表在我的申請。
- dialog3.qml - 還包含一些C++函數的對象。
所有這些qml文件都是在不同時間點擊不同按鈕創建和銷燬的。我用這個方法來打開一個對話框
`addMenuArea.onClicked: {
Qt.createComponent("addMenuAppDialog.qml").createObject(rootWindow, {});
}`
以及銷燬對話框:
MouseArea{
anchors.fill: parent
onClicked: {
dialogComponent.destroy()
}
}
現在目前這些對話沒有任何功能,如主窗口,我想要做的如果可能的話,將它全部在一個文件(main.qml)中實現而不用任何javascript。我沒有關於如何鏈接所有對話框和main.qml的想法,所以我可以在main.qml中添加這些功能。任何幫助都會很棒!
哪個qt和哪個qt-quick?版本信息丟失。 – user1095108
@ user1095108編輯問題,看看! –
這是一種可能的方法。另一種方法是使用'Loader'並更改源文件名。這將處理對象的創建/銷燬。第三種方法是實例化所有的對話框並隱藏除了應該可見的對話框之外的所有對話框,但是這會使用比需要更多的內存。 – saiarcot895