Looks like the SIGNAL loadFinished(bool) is not emitted anymore with Qt 6.8.1
-
Hi, I tested on Ubuntu 24.04.1 using Qt 6.8.1 in Release mode with gcc version 13.3.0 and your app is working fine for me.
However, nothing really happened, the QWebEngineEiew just sits there waiting for an initial url to start.
So i added one line to your timetableprintform.cpp:... viewPreview2 = new QWebEngineView(this); //notVisible. But must stay alive for printing. viewPreview2->setHtml(""); // <--- I added this line viewPreview2->hide(); ...
and then I got this qQebug output:
printPreviewLoadStarted
printPreviewLoadProgress
0
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.
printPreviewLoadProgress
70
printPreviewLoadProgress
100
setView start
setView end
printPreview
printDocument
printFinished
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.So it seems to be working fine, no crash.
P.S. Don't worry about those QTBUG message, they always appear for me since maybe 2023. -
It's a bit funny that it work in that line you added.
But i can't write it there, since in the real application is a big dialog where you can select of different settings and timetables.
So I can't call it from there.
I must call it from line 42 and there it is not working anymore. -
-
BTW: I don't get the "The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce." information. Are you using Windows, Linux or MacOS?
I am currently trying Linux only and Linux doesn't work anymore :-( -
Ah... Sorry. Reading your mail once again.
Yes, then also the preview button is working. Strange. But the solution doesn't work, since there is a big white preview first and i can't hide it. And after printpreview at should also close, but it stays in the window. So that is not useable. It should work as with Qt 6.7.2. -
Hi, the reason the behavior differs between Qt 6.7.2 and Qt 6.8.1 is probably because you're creating the QWebEngineView with your QDialog derived TimetablePrintForm, i.e. not a QWdiget.
Easiest solution is just to omit any parent, like this:
,,, viewPreview2 = new QWebEngineView(); //notVisible. But must stay alive for printing. viewPreview2->hide(); ...
It was probably just good luck that allowed a QDialog flavoed parent to work anyway in 6.7.2 but in 6.8.1 you run out of it :-)
-
I fear I don't understand it 100%, but it is working now!
Thank you so much!
You have earned my announce reward. Please tell me your PayPal (email) or IBAN here or write me a private message and I will sent you the money..
Can you also tell if I need to care about deleting it now myself?
So do I need to write somewhere "delete viewPreview2" myself now or does the garbage collector already cares about it? -