[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