Can I be notified when a Item has finished repainting?



  • I'm making a snapshot (via a ShaderEffectSource with live: false) of an Item, but I'm sometimes (1 cases in 200) getting a blank snapshot. I'm making the snapshot based on a signal like this:

    Image {
        onStatusChanged: {
            if (status == Image.Ready) {
                snapshotter.makeSnapshot();
            }
        }
    }
    

    This is just as an overall context. I won't post a testcase for now because it's a big app and I haven't yet isolated a testcase. That might be material for a future question.

    So I'm not asking "where's the bug in my code" yet. Instead I have a simple question that I think may help me fix the bug:

    Can I be notified when a Item has finished repainting?

    Rationale: Maybe when I get status == Image.Ready, the Image has merely loaded and not yet painted the loaded data into the offscreen surface. So if my desired signal exists, I could hook onto it instead of hooking onto Image.statusChanged.

    Note: I could implement my own NotifyingImage component that works like Image but additionally exposes a repainted signal. But I'd like to know if there's a built-in way.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.