2016-05-15 11 views
0

いくつかのqmlファイル(main.qml)を使用したいが、その前にユーザ(ログイン、パス)から認証情報を取得する必要がある。だから私は2番目のウィンドウ(login.qml)でこれをやりたい私はQt.createComponentを見て、2番目のqmlファイルを開いていますが、このタイプのウィンドウから情報を取得することはできません。2つのQMLファイル間の相互作用

最初のウィンドウで2番目のウィンドウの情報を使用するにはどうすればよいですか?

または、親qmlファイルにこれらの項目(main.qmllogin.qml)をどのように動的にロードできますか?

答えて

1

どのように私は動的に 別のQMLファイル内の個別のファイル/リソースから負荷QMLのアイテムをことができますか?

Qt.CreateComponent JavaScriptを使用して、他のファイルからQMLコードを動的に作成して使用することができます。

4

最初の ウィンドウで2番目のウィンドウの情報を使用するにはどうすればよいですか?

これはそれを行うためのひとつの方法である:

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) 
     } 
    } 
} 
関連する問題