Try a lowercase file name, e.g.: "qrc:/menuBar.qml". ;)
On 03.06.21 06:08, Nicholas Yue wrote: > I copied the qml loading code from another working example, I was just > testing a change in the QML content. > > I'd have to dig further about the lambda > > MenuBar.pro > =========== > QT += quick > > CONFIG += c++11 > > # The following define makes your compiler emit warnings if you use > # any Qt feature that has been marked deprecated (the exact warnings > # depend on your compiler). Refer to the documentation for the > # deprecated API to know how to port your code away from it. > DEFINES += QT_DEPRECATED_WARNINGS > > # You can also make your code fail to compile if it uses deprecated APIs. > # In order to do so, uncomment the following line. > # You can also select to disable deprecated APIs only up to a certain version > of Qt. > #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs > deprecated before Qt 6.0.0 > > SOURCES += \ > main.cpp > > RESOURCES += main.qrc > > # Additional import path used to resolve QML modules in Qt Creator's code > model > QML_IMPORT_PATH = > > # Additional import path used to resolve QML modules just for Qt Quick > Designer > QML_DESIGNER_IMPORT_PATH = > > # Default rules for deployment. > qnx: target.path = /tmp/$${TARGET}/bin > else: unix:!android: target.path = /opt/$${TARGET}/bin > !isEmpty(target.path): INSTALLS += target > > main.qrc > ======= > <RCC> > <qresource prefix="/"> > <file>MenuBar.qml</file> > </qresource> > </RCC> > > > On Wed, 2 Jun 2021 at 20:36, Tony Rietwyk <t...@rightsoft.com.au > <mailto:t...@rightsoft.com.au>> wrote: > > Hi Nicholas, > > The short answer is because your C++ is doing completely different things > to the python code. :O) > > I'm not sure about using QML. Have you included the qml file as a > resource correctly to access via qrc:? You aren't checking the result of the > engine.load. Also, why is the lambda exiting the application when the > objectCreated matches the url? > > Have run the Qt QML examples? How is your C++ code different to those? > > Hope that helps, Tony > > > On 3/06/2021 11:33 am, Nicholas Yue wrote: >> Hi, >> >> I am learning about QML. >> >> I would like to find out why the PySide2 loading of the QML file >> results in a visible window but the C++ one does not. The compiled >> application runs but no window is displayed. >> >> MenuBar.qml >> =========== >> import QtQuick 2.4 >> import QtQuick.Controls 2.13 >> >> ApplicationWindow { >> visible: true >> width: 720 >> height: 480 >> title: "simple window" >> >> menuBar: MenuBar{ >> Menu{ >> title: "Menu1" >> } >> >> Menu{ >> title: "Menu2" >> } >> >> Menu{ >> title: "&Menu3" >> } >> } >> } >> >> main.cpp >> ======== >> #include <QGuiApplication> >> #include <QQmlApplicationEngine> >> >> int main(int argc, char *argv[]) >> { >> QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); >> >> QGuiApplication app(argc, argv); >> >> QQmlApplicationEngine engine; >> const QUrl url(QStringLiteral("qrc:/MenuBar.qml")); >> QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, >> &app, [url](QObject *obj, const QUrl &objUrl) { >> if (!obj && url == objUrl) >> QCoreApplication::exit(-1); >> }, Qt::QueuedConnection); >> engine.load(url); >> >> return app.exec(); >> } >> >> main.py >> ======= >> import sys >> from PySide2 import QtCore, QtGui, QtQml >> >> if __name__ == '__main__': >> >> >> QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) >> app = QtGui.QGuiApplication(sys.argv) >> >> engine = QtQml.QQmlApplicationEngine() >> >> url = QtCore.QUrl.fromLocalFile('MenuBar.qml') >> engine.load(url) >> if not engine.rootObjects(): >> sys.exit(-1) >> >> sys.exit(app.exec_()) >> >> -- >> Nicholas Yue >> Graphics - Arnold, Alembic, RenderMan, OpenGL, HDF5 >> Custom Dev - C++ porting, OSX, Linux, Windows >> http://au.linkedin.com/in/nicholasyue >> <http://au.linkedin.com/in/nicholasyue> >> https://vimeo.com/channels/naiadtools >> <https://vimeo.com/channels/naiadtools> >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org <mailto:Interest@qt-project.org> >> https://lists.qt-project.org/listinfo/interest >> <https://lists.qt-project.org/listinfo/interest> > _______________________________________________ > Interest mailing list > Interest@qt-project.org <mailto:Interest@qt-project.org> > https://lists.qt-project.org/listinfo/interest > <https://lists.qt-project.org/listinfo/interest> > > > > -- > Nicholas Yue > Graphics - Arnold, Alembic, RenderMan, OpenGL, HDF5 > Custom Dev - C++ porting, OSX, Linux, Windows > http://au.linkedin.com/in/nicholasyue <http://au.linkedin.com/in/nicholasyue> > https://vimeo.com/channels/naiadtools <https://vimeo.com/channels/naiadtools> > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > https://lists.qt-project.org/listinfo/interest
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest