預設情況下,視窗和視口值得的都是繪圖裝置的那個矩形。
在win10下,沒有改變乙個自定義的widget的尺寸時(通過resize() 函式,resize() 函式的引數是物理畫素),畫出的widget是640×480物理畫素的。
void paintd::paintevent(qpaintevent *)
使用預設的視窗的物理大小,此時的邏輯座標和物理座標一致:
當改變視窗的邏輯尺寸,注意物理尺寸預設的仍然是640*480的物理畫素大小。
當改變視窗座標系之後再修改視口座標系:
此時視口的大小為 200×200/200 = 200, 200×200/400 = 100.
也就是綠色的區域的大小為200*100 物理畫素。
給人的感覺是:畫圖的區域由視口和視窗的較小的那個決定,包括qpainter 的座標。較小的那個尺寸需要按照較大的那個,按照比例來換算。較大的那個的尺寸是物理畫素尺寸。
Qt 座標系統
1 move 移動位置 對於父視窗 主視窗 座標系統相對於螢幕 原點 相對於螢幕左上角 x 往右遞增 y 往下遞增 move 100,100 座標相對於螢幕 子視窗,座標系統相對于父視窗 原點 相對於視窗空白區域左上角 不包括邊框 x 往右遞增 y 往下遞增 qpushbutton b1 new q...
Qt座標系統
座標變換 world corrdinates window coordinates device coordinates 邏輯座標 世界變換 中間態座標 視窗視口變換 物理座標 在預設情況下,3個座標系是一致的。世界變換 qpainter setworldmatrixenabled 啟用 禁用世界變...
Qt座標系統
座標變換 world corrdinates window coordinates device coordinates 邏輯座標 世界變換 中間態座標 視窗視口變換 物理座標 在預設情況下,3個座標系是一致的。世界變換 qpainter setworldmatrixenabled 啟用 禁用世界變...