PyQt(Python+Qt)學習隨筆:Qt Designer中spacer部件的orientation屬性


在Designer的spacers部件中有2個部件,分別是Horizontal Spacer和Vertical Spacer,這兩個部件都有orientation屬性,表示Spacer部件的方向。
如圖:
在這里插入圖片描述
第一個布局中的Spacer部件是Horizontal Spacer,方向是水平方向,第二個布局中的Spacer部件是Vertical Spacer部件,方向是垂直方向。

我們把這兩個布局中的Spacer部件的方向進行調換,將水平部件的方向改為垂直,垂直部件的方向改為水平,如圖:
在這里插入圖片描述
可以看到方向調整之后,兩個Spacer部件的效果也調換了,我們再來看看UI界面文件生成的代碼:
第一種情況生成的代碼分別為:

   spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.horizontalLayout_5.addItem(spacerItem)
   .......
   spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
   self.horizontalLayout_6.addItem(spacerItem1)
   

第二種情況生成的代碼為:

spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.horizontalLayout_5.addItem(spacerItem)
.......
 spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
 self.horizontalLayout_6.addItem(spacerItem1)

可以看到並沒有方向orientation屬性的直接代碼,而是通過將寬度和高度兩個值對調,同時sizePolicy的寬帶和高度的sizePolicy也進行了對調。

由此可見,無論是Horizontal Spacer還是Vertical Spacer,以及其設置不同的方向,本質上都是一致的,都是一個QSpacerItem類型的對象,在哪個方向擴展就將另一個方向的值設置小一點,並將自己方向的擴展測了設置為sizeType屬性指定值,另一個方向的大小策略設置為Minimum。

老猿Python,跟老猿學Python!

博文目錄

博客地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM