I seem to remember coming to this conclusion as well which is why I was looking at adopting it. My understanding was that providing my program can run on a machine that has Qt installed without my program containing any code it was fine.
That is one valid way of abiding under the LGPL, yes.
Like I keep telling the ones who have not had a lawyer explain how these licenses work to them: Qt depends on an open source community, and they (except for the marketing people in charge of the sales and web pages) know that if they kill LGPL-relying projects, they will kill their own community. All one needs to do to keep both the Qt developer community happy, and the Qt Group (the company) happy, is to strictly abide by the LGPL license as outlined by the GNU Foundation, the original authors of that license, and
celebrate the use of Qt in your product.
To repeat: the main goal of the LGPL license is to enforce
end user freedom while ensuring derivatives stay under LGPL or compatible license. A proprietary closed-source project cannot
derive from LGPL:d code, but it can dynamically — at run time — link to it. Hell, the LGPL license was literally created for this purpose, the L originally referring to
library. The author of the proprietary closed-source code must allow the end users to replace those LGPL:d libraries, and not just refuse to work. That's the copyright/legal part. For goodwill, you celebrate the use of such community projects, and that LGPL is and will be strictly followed because copyright is important. (Goodwill also helps immensely if you ever get targeted by a litigation-happy nutjob (they're usually lawyers). It is way cheaper to quash such frivolous suits when you have the authors and copyright owners on your side.)
A Python application running on Linux with the GUI using standard OS-installed Qt, is well within LGPL.
In fact,
any application running on Linux using standard OS-installed LGPL libraries, without requiring specific binaries for those, is well within LGPL.
You do not need a commercial Qt license for that.
If you disagree, talk to a local lawyer experienced in software licensing and LGPL in particular, or start at what the original authors of the LGPL license, The GNU Foundation,
says about this.
It is an excellent idea in Python to support different bindings, too, as that maximizes end user freedom (and shows the author cares about LGPL and end user freedom, instead of dictating a fixed set of libraries that are "required" and everything else leaves the end user hanging). I tend to support PySide2 and PyQt5 for my own Python3 + Qt5 code (because the UIBuilder is the only difference between them that matters to me), but you could also use the
qtpy package instead. In binary-only applications, this corresponds to having a mechanism to let the end users easier manage which dynamic libraries are used, for example by making sure that a dedicated library folder, say
/usr/share/app/libs/ or
~/app/libs/ is preferred (searched first) when looking for dynamic libraries, so that users and admins can easily control which exact binaries and versions it link to by placing symlinks there. If one uses a launcher script, then setting
LD_LIBRARY_PATH in it before exec'ing the actual binaries is the simplest way to achieve this.
Outside Linux, Qt does have some dedicated embedded development modules that are not licensed under LGPL. I have not used them myself, but if one wants to, then getting a commercial license from the Qt Group is an excellent idea. That is the one case where I fully agree that one must get a commercial Qt license.