I use QScript in my app in such manner:

I created object to pass it to script:
Qt Code:
  1. class ScriptMediator :public QObject
  2. {
  3. Q_OBJECT
  4. public:
  5. explicit ScriptMediator(QWidget *parent = 0);
  6. void AddWidget(QWidget * child)
  7. {
  8. list.append(child);
  9. }
  10. private:
  11. QList<QWidget *> list;
  12. public slots:
  13. void okClicked();
  14. void cancelClicked();
  15. void print(QString string);
  16. QWidget * GetWidget(QString name);
  17.  
  18. };
To copy to clipboard, switch view to plain text mode 
In short, I want to pass all controls from specified form to script.

after dialog creation I initialize script and pass this object to script:

Qt Code:
  1. p_mediator.AddWidget(ui->okButton); // QPushButton
  2. p_mediator.AddWidget(ui->cancelButton); // QPushButton
  3. p_mediator.AddWidget(ui->edit); // QLineEdit
  4.  
  5. QScriptValue objectValue = p_engine.newQObject(&p_mediator);
  6. p_engine.globalObject().setProperty("Mediator", objectValue);
  7. QScriptValue result = p_engine.evaluate(contents, fileName);
To copy to clipboard, switch view to plain text mode 

Script code:

Qt Code:
  1. function okClicked()
  2. {
  3. Mediator.okClicked();
  4. }
  5. function cancelClicked()
  6. {
  7. Mediator.cancelClicked();
  8. }
  9. function returnPressed()
  10. {
  11. Mediator.print( this.text );
  12. }
  13.  
  14. Mediator.GetWidget("okButton").clicked.connect(okClicked);
  15. Mediator.GetWidget("cancelButton").clicked.connect(cancelClicked);
  16. Mediator.GetWidget("code").returnPressed.connect(returnPressed);
To copy to clipboard, switch view to plain text mode 

okButton and cancelButton slots work good but from returnPressed() I get only empty string.
if i rewrite it to Mediator.print( this.text() ); (calling to text() function, not to property) I get error "this.text is not a function".

So how can I use QLineEdit inside a script to get a text from it?