我收到以下错误:
调试开始启用QML调试。只能在保险箱中使用 环境。 QML调试器:在端口55186上等待连接...
QQmlApplicationEngine无法加载组件qrc:/main.qml:23
预期的令牌`)'
第23行
QFile, file("C://new.txt");
守则
#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 :(得分:1)
正如评论中Simon Warta和BaCaRoZzo所述,您不能在QML中使用C ++。您需要使用Javascript并创建自己的自定义类型来处理文件输入和输出。
请参阅此answer。