Qt學習之路3--座標系統、窗口部件位置大小設置及簡單的QPushButton使用

座標系統

每個GUI操作系統都有特定的座標系統,座標系統用於在圖形界面程序中進行窗口、組件的定位(定位的前提就是要有座標系統)及窗口部件的大小設置。
其中定位類型有頂級窗口組件的定位窗口內部的組件定位窗口部件的大小設置

Qt中使用統一的座標系統定位窗口部件的位置和大小
Qt的組件類提供成員函數在座標系統中進行定位,如函數x()、y()。
QWidget類提供了窗口部件所需的座標系統成員函數。
這裏寫圖片描述
其中上圖外層座標表示窗口在屏幕中的座標,內層表示用戶區,除去標題欄和最小化、最大化、關閉按鈕的座標,在座標系中橫爲x(向右爲增),豎爲y(向下爲增)。

座標系統相關成員函數
這裏寫圖片描述
QWidget直接提供的x()、y() 、width()、 height()函數表示窗口左上角開始計算的座標(相對於電腦界面左上角而言)和客戶區的寬度和高度。
geometry()提供的x()、y() 、width()、 height()函數表示客戶區左上角開始計算的座標和客戶區的寬度和高度
frameGeometry()提供的x()、y() 、width()、 height()函數表示窗口左上角開始計算的座標和窗口的寬度和高度
注意:提供三組座標就是爲了跨平臺使用,由於不同平臺的標題欄大小不同,以及注意每組座標系統中的適用區域。

在編程中:
這裏寫圖片描述
親測,如果在show()調用之前調用的話數據是無效的。
因爲在不同的平臺中如果窗口還未顯示出來我們則無法知道邊框大小,只有將窗口顯示出來後才能獲取有效的座標系統數據.

窗口部件大小、位置設置

QWidget提供了成員函數用來設置窗口組件的位置大小信息。
使用void resize(int w, int h)和void resize(const QSize&)來設置窗口寬度、高度(用戶區的寬度和高度)。
使用void move(int w, int h)和void move(const QPoint&)函數和座標位置(窗口左上角的座標),當設置的寬度小於了操作系統最小寬度值時系統默認設爲系統的最小值,不同的操作系統所規定的最小值不同。

QPushButton組件

QPushButton生成的對象在界面上呈現就是一個按鈕。
QPushButton用於接受用戶點擊事件。
QPushButton能夠顯示提示性字符串,QLabel也有相同作用哦。
QPushButton是功能性組件,需要父組件作爲容器。
QPushButton能夠在父組件中定位。

綜合代碼片段:

QWidget w;//生成QWidget對象,作爲頂級組件
QPushButton btn(&w);//將按鈕對象放到容器裏
btn.setText("Button");//給按鈕設置顯示的字符串
btn.move(10, 10);//移動按鈕位置
btn.resize(100, 25);//設置按鈕的寬度和高度

設置座標爲用戶區左上角爲起始位置的座標。
可以生成多個QPushButton對象來創建多個按鈕。
主窗口和用戶區都是以相同的方向創建座標。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章