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> 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 > https://vimeo.com/channels/naiadtools > > _______________________________________________ > Interest mailing > listInterest@qt-project.orghttps://lists.qt-project.org/listinfo/interest > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > 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 https://vimeo.com/channels/naiadtools
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest