pyqt5-QWidget坐標系統和大小和展示區域


 

 

獲取坐標和尺寸:

坐標的獲取視頻教程:https://v.qq.com/x/page/t085892mzh9.html   

 x()    y()   返回控件的坐標

相對於父控件的坐標(窗口框架左上角)

頂層控件(沒有父控件)則相對於桌面的坐標

pos()   x和y的組合 

s=window1.pos()        PyQt5.QtCore.QPoint(200, 100)

s1=s.x()   返回x坐標       s1=s.y()   返回y坐標

width()    控件的寬度,不包含任何窗口框架

height()    控件的高度,不包含任何窗口框架

size()     width和height的組合

s=window1.size()       PyQt5.QtCore.QSize(110, 100)

s.width()返回控件的寬度     s1=s.height()  返回控件的高度

geometry()  用戶區域相對於父控件的位置和尺寸組合

s=window1.geometry()       PyQt5.QtCore.QRect(120, 100, 110, 100) -->QRect(x, y, width, height)

rect()    0, 0, width, height的組合

s=window1.rect()      PyQt5.QtCore.QRect(0, 0, 110, 100)

geometry()      用戶區域相對於父控件的位置和尺寸組合      QRect(x, y, width, height)

 

frameSize()     框架大小  。一定要在show之后,否則數據錯誤

s=window.frameSize()      PyQt5.QtCore.QSize(296, 339)

 frameGeometry()     框架位置和大小。一定要在show之后,否則數據錯誤

s=window.frameGeometry()      PyQt5.QtCore.QRect(55, 10, 296, 339)  參數1和參數2是move坐標   參數3和參數4是框架大小

注意: 控件顯示完畢之后(show之后), 具體的位置或者尺寸數據才會正確

 

 

 設置位置和尺寸:

 move(x, y)      操控的是x, y;也就是pos      包括窗口框架

resize(width, height)      操控的是寬高    不包括窗口框架

如果小於最小值,就無效

setGeometry(x_noFrame, y_noFrame, width, height)    注意,此處參照為用戶區域

#在show之后設置

adjustSize()    根據內容自適應大小 

注意:單次有效,在設置內容后面使用

setFixedSize()     設置固定尺寸 

 

 最大和最小尺寸:

 minimumWidth()       返回最小尺寸的寬度

minimumHeight()      返回最小尺寸的高度

minimumSize()        返回最小尺寸     PyQt5.QtCore.QSize()

maximumWidth()     返回最大尺寸的寬度

maximumHeight()      返回最大尺寸的高度

maximumSize()       返回最大尺寸

setMaximumWidth()     返回設置最大寬度

setMaximumHeight()    返回設置最大高度

setMaximumSize()        返回設置最大尺寸

setMinimumWidth()       返回設置最小寬度

setMinimumHeight()       返回設置最小高度

setMinimumSize()         返回設置最小尺寸

注意  控件完全展示前后會有所差異

 

控件內容展示區域: 

 setContentsMargins(左, 上, 右, 下)       設置控件內容展示區域到邊框的距離

getContentsMargins()      獲取內容邊距   (左, 上, 右, 下)  元組

(50, 50, 0, 0)   就是展示區域到各邊框的距離

contentsRect()     獲取控件內容展示區域的位置和大小。

QRect(50, 50, 150, 50)    參數1參數2 :展示區域到控件左上角的坐標   參數3:展示區域的寬;參數4:展示區域的高    

注意:必須是控件本身留夠對應的大小

 

 

 


免責聲明!

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



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