Sunday, January 18, 2015

QWebEngine, Nuitka, Travel

QWebEngine: I mentioned that in my class derived from QWebEngineView, my overriding keyPressEvent() handler was not being entered. I wrote about that to the relevant mail list and got a reply. It's a design restriction. There is a known bug describing this. Apparently in order to shoe-horn the Chrome browser into the Qt framework they have had to play some tricks with the class heirarchy. So mouse events and key events end up in "a child widget" of the QWebEngineView and stop there, never being passed along.

This is one of a number of functional and design shortcomings of the QWebEngine package. As a browser it runs smoothly and without crashes or superfluous blather on stderr, and that keeps me using it in preference to my experience of the rickety QWebKit. But it really wasn't finished when released in 5.4. A year from now, around Qt 5.6, it will probably be a very nice and complete package.

Nuitka: I spent a happy 3 hours Saturday writing a program that would go through all the DLL's in a Nuitka "dist" folder and relativize them, that is, use install_name_tool to convert absolute paths to relative ones based on @executable_path. When I applied it, some strange things happened to the modified program and I didn't have time to debug it.

This afternoon I got email from Kay—who is about the ideal model of the open-source author, just amazingly responsive and willing to communicate—saying he had modified the compiler to relativize copied DLLs.

Unfortunately I can't do anything to try his code right away. We are off for a quick trip to Seattle. When I return on Thursday I will try it out.

No comments: