QT視口和視窗

2021-10-08 02:18:11 字數 640 閱讀 9192

視口和視窗實際上是同一區域

視口使用的是物理座標,而視窗使用的是邏輯座標,可以無視widget的放大和縮小

int w=

width()

;int h=

height()

;int side=

qmin

(w,h)

;//去長和寬的小值

qrect rect

((w-side)/2

,(h-side)/2

,side,side)

;//viewport矩形區

painter.

drawrect

(rect)

;//viewport大小

// painter.setviewport((w-side)/2, (h-side)/2,side,side);//設定viewport,物理座標範圍

painter.

setviewport

(rect)

;//設定viewport

painter.

setwindow(-

100,

-100

,200

,200);

// 設定視窗大小,邏輯座標

視口和視窗

對映方式指定了邏輯座標系的邏輯單位和座標軸正方向,座標原點沒有涉及。而且,在 自作主張的 兩種對映方式下,邏輯單位 座標軸正方向和座標原點都有待確定。視口 是基於裝置座標的,通常,視口與客戶區相同。點 0,0 是客戶區域的左上角。x 的值向右增加,y 的值向下增加。視窗 是基於邏輯座標的,邏輯座標可...

視窗與視口

幾個概念容易亂,先寫下來 一般來說,客戶區左上角的點對應視口原點 0,0 我理解他們為等同關係.裝置區 0,0 點就是視口原點 0,0 點,且不可改變.視窗座標應用中使用邏輯座標,偶理解為視窗原點就是邏輯原點.等同關係.且可以改變.下面可能用上.不要理解為整個視窗的左上角那個點 從理解應用來說,無論...

QT中視窗 與視口的轉換

在qpainter中存在兩個函式,分別是setwindow和setviewport,分別用來設定繪圖視窗和繪圖的視口。首先要說明的是,這個視窗和視口和可能和其它地方說明的視窗和視口含義不一樣 另外,在 c gui qt4程式設計 一書中也沒用很詳細的講解這兩個概念。所以筆者經過測試,把相關知識描述如...