[PyQt] Design plugins in Windows

Kyle Altendorf sda at fstab.net
Tue Mar 29 23:34:45 BST 2016


On 2016-03-29 04:09, Phil Thompson wrote:
> On 29 Mar 2016, at 12:05 am, Kyle Altendorf <sda at fstab.net> wrote:
>> 
>> On 2016-03-28 18:49, Kyle Altendorf wrote:
>>> On 2016-03-28 18:12, Phil Thompson wrote:
>>>> On 28 Mar 2016, at 10:47 pm, Kyle Altendorf <sda at fstab.net> wrote:
>>>>> While my Designer widgets work quite nicely in Linux (thank you) I 
>>>>> am unable to get them working in Windows.  I have tried many 
>>>>> permutations of / and \ and quotes or not in PYQTDESIGNERPATH.  I 
>>>>> also located my files in one of the default path locations 
>>>>> (C:\Users\IEUser\.designer\plugins\python).  In no case do they 
>>>>> show up within Designer (pyqt5.dll is listed as a plugin).  Any 
>>>>> recommendations on how to debug/resolve this before I attempt to 
>>>>> rebuild pyqt5.dll with debug statements written to a file?  My 
>>>>> widgets/plugins are available on GitHub [1].
>>>>> Thank you for any suggestions you care to share.
>>>>> Cheers,
>>>>> -kyle
>>>>> [1] 
>>>>> https://github.com/altendky/st/tree/fda167f20081ba0f24293d71535b68b2e6954bb0/epyq/widgets
>>>> Does the standard example work for you?
>>>> Phil
>>> No, it does not seem to work either via the examples app or from the
>>> command line.  In fact, unless I set PYTHONPATH to something else,
>>> Designer won't even open (so example app doesn't open Designer at
>>> all).  I looked for the widgets in the list and also for entries 
>>> under
>>> the listing of pyqt5.dll in the dialog under help and neither
>>>  C:\Users\IEUser>set
>>> PYQTDESIGNERPATH=c:\python34\lib\site-packages\PyQt5\examples\designer\plugins\python
>>>  C:\Users\IEUser>set
>>> PYTHONPATH=c:\python34\lib\site-packages\PyQt5\examples\designer\plugins\widgets
>>>  C:\Users\IEUser>designer
>>> <no output nor designer window>
>>>  C:\Users\IEUser>set
>>> PYTHONPATH=c:\python34\lib\site-packages\PyQt5\examples\designer\plugins\widget
>>>  C:\Users\IEUser>designer
>>>  C:\Users\IEUser>
>>> <no output but designer window comes up>
>>> I'm bringing up a fresh virtual machine (modern.ie Vagrant/Win10/Edge
>>> x64) and will install Python 3.4.4 and PyQt 5.5.1 (both x32).  I will
>>> let you know the results there.
>> 
>> The fresh virtual failed in the same way.  Any other particular 
>> combination you think it would be helpful to try?
> 
> A side effect of the recent changes related to uncaught Python
> exceptions means that, if your plugin or widget implementation has
> bugs it will bring down Designer. There is such a bug in one of the
> PyQt examples (fixed in the current snapshot) which means the whole
> Designer plugins example will probably fail.

It ended up needing an extra directory in the %PYTHONPATH% and no "s.  I 
do absolute imports (not sure if that's good or bad, but it's what the 
code is right now) so I had to add not only the paths to the files but 
also the 'root' path for imports.  I am also quite used to quoting to 
avoid shell issues but that is bad in path environment variables 
apparently, even when done to each individual path.  So, I would presume 
I was triggering an import exception that managed not to kill Designer 
but did cause it not to show my widgets.

https://github.com/altendky/st/commit/94d752869aeaedf4f6bf62ffb3f47df0c2968836


> You could try the latest version of the example, or remove the bad
> part of the version you have (it's the widget that uses OpenGL I
> think).

I stripped it down to the analog clock and it worked.  Following that I 
fiddled with my files and compared imports etc to figure out my path 
mistake.


> I will look at ways of making the whole thing more resilient to 
> failures.

Sometimes a vow of silence is good.  Sometimes not.  :]  I certainly 
need to continue improving this in my own application.  As always, 
thanks for the help getting over this hump.  If I'm lucky, I can get my 
boss and coworkers to develop some of the GUI now.

Cheers,
-kyle


More information about the PyQt mailing list