Qt / 坐标系统
每個 GUI 操作系統都有特定的坐標系統,坐標系統用于在圖形界面程序中進行窗口、組件的定位(定位的前提就是要有坐標系統)及窗口部件的大小設置。其中定位類型有頂級窗口組件的定位、窗口內部的組件定位和窗口部件的大小設置。
Qt 中使用統一的坐標系統定位窗口部件的位置和大小。
Qt 的組件類提供成員函數在坐標系統中進行定位,如函數 x()、y()。
QWidget 類提供了窗口部件所需的坐標系統成員函數。
其中上圖外層坐標表示窗口在屏幕中的坐標,內層表示用戶區,除去標題欄和最小化、最大化、關閉按鈕的坐標,在坐標系中橫為 x(向右為增),豎為 y(向下為增)。
坐標系統相關成員函數
QWidget 直接提供的 x()、y() 、width()、 height() 函數表示窗口左上角開始計算的坐標(相對于電腦界面左上角而言)和客戶區的寬度和高度。
geometry() 提供的 x()、y() 、width()、 height() 函數表示客戶區左上角開始計算的坐標和客戶區的寬度和高度。
frameGeometry() 提供的 x()、y() 、width()、 height() 函數表示窗口左上角開始計算的坐標和窗口的寬度和高度。
注意:提供三組坐標就是為了跨平臺使用,由于不同平臺的標題欄大小不同,以及注意每組坐標系統中的適用區域。
在編程中:
親測,如果在 show() 調用之前調用的話數據是無效的。
因為在不同的平臺中如果窗口還未顯示出來我們則無法知道邊框大小,只有將窗口顯示出來后才能獲取有效的坐標系統數據。
?
轉載于:Qt 坐標系統、窗口部件位置大小設置及簡單的QPushButton使用 - 一杯清酒邀明月 - 博客園 (cnblogs.com)
?
(SAW:Game Over!)
總結
- 上一篇: Qt / QWidget、QFrame
- 下一篇: java信息管理系统总结_java实现科