2011-01-26 66 views
0

在我的應用程序中,我的窗口小部件周圍空間太多,我想追查哪些窗口小部件導致這個空間。空間內容的唯一來源是什麼? QBoxLayout對象是否有額外的空間? matplotlib FigureCanvas怎麼樣?PyQt顯示所有邊距

我的主要問題是:

是否有遞歸遍歷Qt物件樹顯示的利潤空間和來源的程序?

回答

0

我不知道這樣的程序,但是如果你使用Qt Designer,你可以用任何文本查看器打開* .ui文件,並尋找具有可疑名稱的屬性,如「margin」或「spacing」。箱佈局有他們太多,例如:

<layout class="QVBoxLayout" > 
    <property name="spacing" > 
    <number>6</number> 
    </property> 
    <property name="leftMargin" > 
    <number>6</number> 
    </property> 
    <property name="topMargin" > 
    <number>6</number> 
    </property> 
    <property name="rightMargin" > 
    <number>6</number> 
    </property> 
    <property name="bottomMargin" > 
    <number>6</number> 
    </property> 

正如你可以看到,有很多額外的6像素的邊距和間距在這裏。一旦你找出哪些屬性對你的問題負責,只需將它們設置爲零或合理。

如果您不使用Qt Designer,那就更困難了。你仍然可以使用Designer來創建一個示例GUI,它可以幫助你找出罪魁禍首。然後你可以編寫一段代碼遍歷widget樹並打印出這些屬性。