Qt零基礎教程(四) QWidget詳解(3):QWidget的幾何結構ide
這篇文章裏面分析了QWidget中經常使用的幾種幾何結構函數
下圖是Qt提供的分析QWidget幾何結構的一幅圖,在幫助的 Window and Dialog Widgets 能夠找到相關的內容介紹:spa
在Qt中橫座標的方向和咱們平時看到的笛卡兒座標系是相同的,可是縱座標和笛卡兒座標系是相反的,這裏的縱座標是向下的,不知道是否是和剛開始的電子管屏幕電子打在屏幕上的順序是有關的。3d
從這副圖裏面能夠看到,這裏有兩種幾何結構:
1:不包含外邊各類邊框的幾何結構。code
2:包含外邊各類邊框的幾何結構;blog
**************************************************************************教程
在這裏先分析不包含邊框的各類設置函數:get
通常狀況下式,不包含邊框的部分是客戶區部分,這裏面就是咱們正常操做的部分,能夠在這部分裏面添加子部件。這部分是一個長方形,那麼對於一個長方形,就會有大小和位置。大小的話就是寬和高(國外的說法,和中國的長寬高不一樣),位置就是這個長方形在電腦屏幕上的位置。Qt中保存這個長方形是用了一個QRect這個類,這裏咱們不去深究這個類,後面的文章會詳細說明一下這個類。要改改變這個大小和位置能夠有以下幾個函數:event
1 void resize(int w, int h); 2 void resize(const QSize &);
這兩個函數是改變了長方形的大小,第一個參數是寬,第二個是高。這裏的英文是Width和Height。設置了大小以後的窗口仍是能夠經過鼠標進行改變窗口的大小。class
經過下面的函數能夠得到客戶區的大小:
1 QSize size() const
下面的函數分別得到了寬度和高度:
1 int width() const 2 int height() const
若是要設置不能夠改變的窗口:
set FixedHeight(int h)
這個時候高度就是固定的了,不能夠改變高度,可是能夠改變寬度
set FixedWidth(int w)
這個時候寬度就是固定的了,不能夠改變寬度,可是能夠改變高度
void setFixedSize(const QSize & s) void setFixedSize(int w, int h)
經過上面的這兩個函數,高度和寬度都是固定的了,不能夠經過鼠標來改變窗口的寬度和高度。
同時改變大小和位置的函數是:
void setGeometry(int x, int y, int w, int h); void setGeometry(const QRect &);
x和y相對應的就是x座標和y座標。這裏不能夠單獨的設置x和y的座標。
**************************************************************************
在這裏分析包含邊框的各類設置函數:
包含邊框,這個邊框有大小和位置,是窗口在電腦屏幕上面顯示的整個區域。
要改改變這個大小和位置能夠有以下幾個函數:
這裏沒有設置這個大小的函數,由於經過上面不包含邊框函數的設置,就能夠設置包含邊框大小了,要設置包含邊框的大小仍是要經過上面的函數。經過下面的函數能夠得到整個窗口的位置和大小:
QRect frameGeometry() const
可是這裏能夠設置總體窗口的位置
void move(int x, int y) void move(const QPoint &)
而後能夠經過下面的函數來得到左上角的座標:
QPoint pos() const
後面會陸續分析QWidget中的其餘的一些屬性的功能即設置函數。
謝謝。