2015-03-24 5 views
0

Je reçois l'erreur suivante:Qt de caractère attendu) 'Erreur

Debugging starts QML debugging is enabled. Only use this in a safe
environment. QML Debugger: Waiting for connection on port 55186...
QQmlApplicationEngine failed to load component qrc:/main.qml:23
Expected token `)'

Ligne 23

QFile, file("C://new.txt"); 

Le code

#include <QIODevice> 
import QtQuick 2.4 
import QtQuick.Controls 1.3 
import QtQuick.Window 2.2 
import QtQuick.Dialogs 1.2 
import QtQml 2.2 



ApplicationWindow { 
    title: qsTr("File Editor") 
    width: 640 
    height: 480 
    visible: true 

    menuBar: MenuBar { 
     Menu { 
      title: qsTr("&File") 
      MenuItem { 
       text: qsTr("&Open") 
       onTriggered: { 
        var message = ("Hello World!"); 
        QFile, file("C://new.txt"); 
        file.open(QIODevice::ReadWrite); 
        QTextStream out(&file); 
        out << %message%; 
       } 
       } 
      MenuItem { 
       text: qsTr("E&xit") 
       onTriggered: Qt.quit(); 
      } 
     } 
    } 

    MainForm { 
     anchors.fill: parent 
     button1.onClicked: messageDialog.show(qsTr("Button 1 pressed")) 
     button2.onClicked: messageDialog.show(qsTr("Button 2 pressed")) 
     button3.onClicked: messageDialog.show(qsTr("Button 3 pressed")) 
    } 

    MessageDialog { 
     id: messageDialog 
     title: qsTr("May I have your attention, please?") 

     function show(caption) { 
      messageDialog.text = caption; 
      messageDialog.open(); 
     } 
    } 
} 
+0

Je suppose que '' C: // new.txt'' devrait être '" C: //new.txt "'. – LogicStuff

+0

Pourquoi avez-vous //? Le caractère d'échappement est \\ alors peut-être que vous faites référence à 'QFile, fichier (" C: \\ new.txt ");' au lieu de 'QFile, fichier ('C: //new.txt');'? Donc, je parle de \\ et ".Plus que cela, comme le dit @SimonWarta, vous ne pouvez pas mélanger le code C++' avec QML ... – Iuliu

+2

Vous mélangez du code QML et du code C++. Si vous avez besoin d'aide supplémentaire, veuillez d'abord formater correctement votre code collé (ajoutez 4 espaces devant chaque ligne avant de coller dans Stack Overflow) Sinon, il est trop difficile à lire pour les autres –

Répondre

1

Comme indiqué par Simon Warta et BaCaRoZzo dans le commentaires, vous ne pouvez pas utiliser C++ dans QML. Vous devez utiliser Javascript et créer votre propre type personnalisé pour gérer les entrées et sorties de fichiers.

Veuillez voir ceci answer.