跳到內容

QML and Qt Quick

Looking for The Bling Thing(tm)? Post here!
20.0k 主題 77.4k 貼文
  • QQuickFramebufferObject with external OpenGL in Qt6

    Unsolved qt6 fbo opengl
    7
    0 評價
    7 貼文
    2k 瀏覽
    D
    I'm currently working on getting on of my older applications to work with PyQt6 on Wayland. The python-mpv library has classically used an X window ID for telling mpv where to render, but that obviously won't work on Wayland. There are several examples of using OpenGL rendering with python-mpv: https://github.com/trin94/qtquick-mpv The PySide6 example does work, but my entire application is written in PyQt6: https://gitlab.com/djsumdog/mediahug/ I've been playing around with the code trying to figure out what's happening. All the mpv output looks identical between the different API examples. Creating another window and commenting out the setSource/show for the quickview prevents it from crashing out. I guess there might be an issue with the PyQt6 bindings? I'd really rather not trade out everything in my code for PySide.
  • 此主題已被刪除!

    Unsolved
    1
    0 評價
    1 貼文
    1 瀏覽
    尚無回覆
  • Display rotated -> qt/qml application not visible

    Solved
    4
    0 評價
    4 貼文
    113 瀏覽
    M
    Changes in /boot/config.txt solved this problem.
  • runtime error: module is not installed when using qt_add_qml_module()

    Unsolved
    2
    0 評價
    2 貼文
    642 瀏覽
    K
    For future readers: you need to set the extra module as static in order for it to link with the main executable. I don't know why this is. It's very hidden in the Qt guide qt_add_library(UiComponents STATIC) qt_add_qml_module(UiComponents URI "Muse.UiComponents" VERSION 1.0 NO_PLUGIN QML_FILES ....
  • Setting x11 Window properties

    Unsolved
    2
    0 評價
    2 貼文
    87 瀏覽
    jsulmJ
    @Berg You could check how KDE does that.
  • setContextProperty "TypeError: Cannot call method"

    Unsolved
    3
    0 評價
    3 貼文
    87 瀏覽
    H
    @SGaist simple code in main.cpp int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickStyle::setStyle("Basic"); QQmlApplicationEngine engine; QObject::connect( &engine, &QQmlApplicationEngine::objectCreationFailed, &app, []() { QCoreApplication::exit(-1); }, Qt::QueuedConnection); DataManager dataManager; engine.rootContext()->setContextProperty("dataManager", &dataManager); //DataManager* pDataManager = new DataManager; //engine.rootContext()->setContextProperty("dataManager", pDataManager); engine.loadFromModule("Project", "Main"); return app.exec(); }
  • S-Shaped Curve with PathCubic

    Unsolved
    1
    0 評價
    1 貼文
    47 瀏覽
    尚無回覆
  • QMLlint warning for ids

    Unsolved
    3
    0 評價
    3 貼文
    147 瀏覽
    JKSHJ
    You need required property int index in gridDelegate (see https://doc.qt.io/qt-6/qtquick-modelviewsdata-modelview.html#view-delegates ) deleteIndex is qualified (this is good), but index is unqualified (this is bad). Qualify index too: root.deleteIndex == gridDelegate.index (see https://doc.qt.io/qt-6/qmllint-warnings-and-errors-unqualified.html )
  • How to make the animation run as expected

    Unsolved
    2
    0 評價
    2 貼文
    77 瀏覽
    MarkkyboyM
    Please learn to format your code correctly. It makes things so much easier for those attempting to help you.
  • QML with VS Code - Builds but fails at runtime (Windows)

    Unsolved
    3
    0 評價
    3 貼文
    146 瀏覽
    C
    This is helpful thanks
  • Getting binding loop when checking mousearea.containsMouse on a drag operation

    Solved
    6
    0 評價
    6 貼文
    1k 瀏覽
    E
    Unfortunately, the stackoverflow solution doesn't work if you're depending on mime settings or imageSource (or requires some more effort to make it work), but the delayed binding solution did work.
  • Qmllint Warnings for rootcontextproperty

    Unsolved
    2
    0 評價
    2 貼文
    75 瀏覽
    jeremy_kJ
    Hi, Please use the code (</>) tags. The general advice is to avoid context properties. Embedding C++ Objects into QML with Context Properties spells out a few reasons, including the one noted here. My preferred fix is to declare a property within the item, and then set it using an API such as QQmlComponent::createWithInitialProperties()
  • MouseArea and WebEngine: Qt6 Bug?

    Unsolved qml webengine mousearea
    3
    1 評價
    3 貼文
    428 瀏覽
    SGaistS
    @viliak hi and welcome to devnet, I think you should check and maybe create a ticket on the bug tracker since it's a pretty big change of behavior.
  • Working in Creator and Design Studio simultanously: C++ backend integration possible?

    Unsolved
    4
    0 評價
    4 貼文
    648 瀏覽
    A
    Hello @Raphael_PF . Normally you should have a "mock" backend to avoid that errors in order to be able to preview your design. By following this: https://doc.qt.io/qtdesignstudio/robotarm-example.html you will be able to work with both programs. In your qmlproject: importPaths: ["."] mockImports: ["stubs"] You can read here the cmakelist qt design autogeneration: https://github.com/qt-creator/qt-creator/blob/b60337dbaace15ac36d7f44f60d17560111a9ae3/src/plugins/qmlprojectmanager/qmlprojectexporter/cmakegenerator.cpp#L305 [image: 882cf003-42af-4b90-baa9-bfddbf718e0c.png]
  • Handling key events in Wayland compositor (IviApplication)

    Solved iviapplication
    2
    0 評價
    2 貼文
    119 瀏覽
    HoratioH
    Answering my own question... Pass WaylandCompositor's property - defaultSeat into C++ as QWaylandSeat*. https://doc.qt.io/archives/qt-5.15/qml-qtwayland-compositor-waylandcompositor.html#defaultSeat-prop WaylandCompositor { id: iCompositor Component.onCompleted: { CppHelper.setDefaultWaylandSeat( iCompositor.defaultSeat ); } } Use QWaylandSeat's setKeyboardFocus(), which takes QWaylandSurface*. https://doc.qt.io/archives/qt-5.15/qwaylandseat.html#setKeyboardFocus QWaylandSurface* can be found in the onIviSurfaceCreated() as iviSurface. You can pass it into C++. IviApplication { onIviSurfaceCreated: { var surfaceArea = iviSurface.iviId === 1337 ? leftArea : rightArea; var item = chromeComponent.createObject(surfaceArea, { "shellSurface": iviSurface } ); item.handleResized(); // Pass QWaylandSurface* into C++. CppHelper.registerIviSurface( iviSurface ); } } The signal keyboardFocusChanged can be used to observe the change. https://doc.qt.io/archives/qt-5.15/qwaylandseat.html#keyboardFocusChanged However, setKeyboardFocus() doesn't work very well. I do get the signal keyboard focus changed, but the focus jump back to the original window if I actually press a keyboard key.
  • Creating a dynamic spline in QML

    Solved
    4
    0 評價
    4 貼文
    166 瀏覽
    J
    @GrecKo Ah that was a little painfully obvious haha! Thank you for pointing that out. I've been banging my head against the wall learning about shapepaths for hours now, and thought that there was a more explicit object type for the job. Turns out it was right in front of me all along!
  • Qt 6 adding qt_add_translations() to CMake creates empty .ts files.

    Unsolved
    5
    1 評價
    5 貼文
    1k 瀏覽
    A
    Best solution, independent from changing the targets manually, is to add: add_dependencies(${PROJECT_NAME} update_translations)
  • .EXE file is not opening and not find exe file

    Unsolved
    9
    0 評價
    9 貼文
    288 瀏覽
    P
    Okay , @jsulm Thank you I will check it out.
  • 0 評價
    2 貼文
    90 瀏覽
    jsulmJ
    @MARUTI-0 said in How can you implement offline mapping in a Qt application using QML and CMake without internet access?": SOLVE THE PROBLEM First describe the problem in an understandable way and then ask for help. People here do not have to solve your problems, this is user forum.
  • Enabling anti-aliasing on QQuickItem or QSGGeometryNode

    Unsolved
    2
    0 評價
    2 貼文
    153 瀏覽
    A
    I came across this example which uses QRhi (which avoids dependence on OpenGL directly like other people said to use): https://doc.qt.io/qt-6/qtquick-scenegraph-customrendernode-example.html It still seems overly complex but at least it looks like I'm in the right direction. Then, I came across this: https://doc.qt.io/qt-6/qrhirenderbuffer.html#sampleCount where I can set sampleCount to enable anti-aliasing. I don't really understand how QRhiRenderBuffer can be used, but somehow using QRhiRenderBuffer with sampleCount set to 4 or 8 in a QSGRenderNode -derived class seems like the proper way to have cross-platform hardware-accelerated anti-aliased drawing. Feel free to correct me. Until I find code examples showcasing how to bring all these functionalities together I have more important things to work on so I'll use QML Shape / ShapePath for now which makes it super easy to draw simple things (like an anti-aliased triangle).