title: Accessing QML TextField value in Python
body: <p>I have a form in QML with two TextFields. How do I access the value entered in the fields in Python?</p>
  
  <p>I'm using PyQt5.5 and Python3.</p>
  
  <pre><code>import sys
  from PyQt5.QtCore import QObject, QUrl
  from PyQt5.QtWidgets import QApplication
  from PyQt5.QtQuick import QQuickView
  from PyQt5.QtQml import QQmlApplicationEngine
  
  
  if __name__ == '__main__':
      myApp = QApplication(sys.argv)
  
      engine = QQmlApplicationEngine()
      context = engine.rootContext()
      context.setContextProperty("main", engine)
  
      engine.load('basic.qml')
  
      win = engine.rootObjects()[0]
      button = win.findChild(QObject, "myButton")
      def myFunction():
          print("handler called")
          foo = win.findChild(QObject, "login")
          print(dir(foo))
          print(foo.text)
      button.clicked.connect(myFunction)
      win.show()
  
      sys.exit(myApp.exec_())
  </code></pre>
  
  <h2>basic.qml</h2>
  
  <pre><code>import QtQuick 2.3
  import QtQuick.Controls 1.2
  
  ApplicationWindow {
      width: 250; height: 175
  
      Column {
          spacing: 20
          TextField {
              objectName: "login"
              placeholderText: qsTr("Login")
              focus: true
          }
  
          TextField {
              placeholderText: qsTr("Password")
              echoMode: TextInput.Password
          }
  
          Button {
              signal messageRequired
              objectName: "myButton"
              text: "Login"
              onClicked: messageRequired()
          }
      }
  }
  </code></pre>
  
  <h2>Console</h2>
  
  <pre><code>Traceback (most recent call last):
    File "working.py", line 25, in myFunction
      print(foo.text)
  AttributeError: 'QQuickItem' object has no attribute 'text'
  fish: “python working.py” terminated by signal SIGABRT (Abort)
  </code></pre>