[PyQt] Bogus setMargin generated by pyuic4

Phil Thompson phil at riverbankcomputing.com
Thu Nov 22 17:31:27 GMT 2012


On Tue, 20 Nov 2012 17:56:29 +0100, Saúl Ibarra Corretgé
<saghul at gmail.com>
wrote:
> Hi all,
> 
> I ran into a problem in which pyuic4 will generate a bogus setMargin 
> call and Google is not helping much, I hope someone can shed some light.
> 
> Here is the test ui file:
> 
> https://gist.github.com/4119155#file_test.ui
> 
> It's a simple main window with a QHBoxLayout inside a QWidget. Margins 
> are all set to the same value: 5. Now, the generated code contains 2 
> calls to setMargin, one for 5 (correct) and another one with 0 
> (incorrect) for the layout:
> 
> https://gist.github.com/4119155#file_test.py
> 
> See lines 28-29.
> 
> By inspecting uiparser.py, in function createLayout, an extra 'margin' 
> element is added (~line 433) because the layout is child of a QWidget 
> which is not the child of the main window. The code in that function 
> checks if there are individual margin elements but looks like fails in 
> the case where there is a single 'margin' element, that is, when all 
> margins are equal. If at least one margin is different then problem 
> doesn't appear.
> 
> Is this a bug in the ui parser or am I doing something wrong here?

Should be fixed in tonight's snapshot.

Thanks,
Phil


More information about the PyQt mailing list