[PyQt] A dire warning message
Hans-Peter Jansen
hpj at urpla.net
Thu Jul 7 12:03:47 BST 2011
Dear Al,
On Thursday 07 July 2011, 11:22:34 Algis Kabaila wrote:
> This bothersome warning message probably has nothing to do with PyQt.
> However, it does occur whenever I use PyQt. No great harm seems to
> occur and the programs function normally, except for that message.
> Is there something wrong with my setup or should I just forget all
> about it?
>
> I attach a little test program "open.py". It does not do anything -
> and just tries to open a file dialog after a click on the
> pushButton. That produces the error message.
>
> The "program" is mainly filled with the message itself and some
> comments. I would think that this probably has been dealt with, but I
> will not know if I do not ask... so thanks again for your patience.
> OTH, may be other people will find this informative, too - or am the
> only one being subjected to this warning?
>
> #!/usr/bin/env python3.2
> '''
> open.py - a sample program to show the dire warning it generates
> and every other program that tries to use a file read dialog.
> Platform - kubuntu 11.04 "natty"
> Python 3.2
> Qt 4.7.2 (from "natty" binaries.
> PyQt4 4.8.4 - bound to Python 3.2 whilst compiling
>
> On opening a file dialog, I get this warning:
>
> KGlobal::locale::Warning your global KLocale is being recreated with
> a valid main component instead of a fake component, this usually
> means you tried to call i18n related functions before your main
> component was created. You should not do that since it most likely
> will not work
>
> Search on the net seems to give some grim news:
>
> <quote start>
> Re: VLC Hangs on Open File dialog
> Postby Rémi Denis-Courmont » Sat Jan 29, 2011 11:58 pm
> In the mean time, someone in KDE actually looked at the issue.
> It turns to be a longstanding known bug in the QProcess class from
> Qt4. That bug gets triggered by a new "feature" in KDE 4.6 relative
> to MIME types in the Open and Save dialogs, that happens to involve
> the QProcess class.
>
> In the end, VLC is blaming KDE, KDE is blaming Qt, and Qt is blaming
> the kernel.
> <quote end>
> '''
Hmm, at the first glance, this is a KDE problem, since KDE plugs its own
file dialog into Qt, but fails to properly deal with locales there
after due to them not being initialized correctly. This is going to
produce issues, if you're calling QFileDialogs and expects them being
localized correctly. It might be possible to circumvent these issues by
instancing KApplication instead of QApplication (and doing the proper
KDE4 setup sequence).
Detlev is doing a nice trick in eric4: it checks, if PyKDE4 is
available, and uses it, otherwise it uses plain Qt4.
How this could be related to QProcess escapes me but what do I know..
Pete
More information about the PyQt
mailing list