【发布时间】:2014-11-22 19:19:11
【问题描述】:
我正在尝试将QML 信号连接到Qt 插槽。我读过example 这是代码
int main(int argc, char *argv[]) {
QGuiApplication app(argc, argv);
qDebug()<<QUrl::fromLocalFile("main.qml");
QQuickView view(QUrl::fromLocalFile("main.qml"));//I should replace that line
QObject *item = view.rootObject();
MyClass myClass;
QObject::connect(item, SIGNAL(qmlSignal(QString)),
&myClass, SLOT(cppSlot(QString)));
view.show();
return app.exec();
}
它工作正常,但问题是main.qml 应该在.exe 文件所在的文件夹中。因此,每次我修改main.qml 时,我都应该将其复制到另一个文件中。 main.qml 的文件路径是:“C:\Qt\projects\ConnectionsQT\main.qml”。我试图用
QQuickView view(QUrl("C:\Qt\projects\ConnectionsQT\main.qml");
和通过
QQuickView view(QUrl("C:\\Qt\\projects\\ConnectionsQT\\main.qml");
但在这种情况下,程序找不到main.qml 文件。我该怎么办?
【问题讨论】:
-
这个问题的标题似乎和你遇到的问题没有任何关系。无论如何,问题似乎是您停止使用
QUrl::fromLocalFile()。 URL 不能以 c:\ 开头