三 視窗與座標

2021-07-26 15:29:43 字數 1462 閱讀 2862

視窗元件:

qt中的元件分為:

容器類(父元件):用於包含其他的介面元件

功能類(子元件):用於實現特定的互動功能

視窗與子元件:

qt中沒有父元件的頂級組價叫做視窗

qt中嵌入在視窗(擁有父元件)中的組價叫做子元件

qwidget:

qwidget類是qt中所有視窗元件類的父類(superclass),qt中每個視窗元件都是乙個qwidget

qwidget類繼承自qobject與qpaintdevice類

其中,qobject類是所有支援qt物件模型的基類

qpaintdevice類是qt中所有可繪製元件的基類

qwidget能夠繪製自己和處理使用者的輸入

qwidget是所有視窗元件的抽象

qwidget類物件通常作為父元件或頂級元件使用

視窗型別

視窗型別是乙個列舉型別,分為視窗型別qt::windowtype與視窗標誌qt::windowflags

前者改變視窗型別,後者更改視窗標題欄與邊框,視窗型別與視窗標誌之間、視窗標誌與視窗標誌之間可以使用位或連線

qwidget的建構函式:

qwidget ( qwidget* parent = 0, qt::windowflags f = 0 )

parent指示父元件,為0表明其沒有父元件,f就是視窗型別這個列舉型別(視窗標誌與視窗型別)

座標系統

作用:定位視窗和部件的位置和大小

以左上角為原點(0, 0)水平為x軸,向右為正,垂直為y軸,向下為正

灰色的用於定位視窗的位置,綠色的用於在視窗中定位元件的位置

qwidget類中的座標系統成員函式(函式分為包含框架與不包含框架):

包含框架:x()、y()、framegeometry()、pos()、move()、minimunsize等

不包含框架:geometry()、width()、height()、rect()、size()、resize()等

注:framegeometry()與geometry()中的幾何資料(如geometry().x())必須在show()呼叫後才有效

成員函式:

resize()改變視窗大小、move()改變視窗位置

宣告:此文根據 狄泰學院唐老師的《qt實驗分析教程》創作

WINDOWS視窗座標

不只是有最大最小關閉按鈕的那個矩形東西被稱為視窗,所有控制項是視窗。視窗中的子視窗是視窗。視窗的組成 外部邊框。視窗border屬性為 thin,resizing時,有3個畫素寬的邊框。系統區 視窗上部藍色部分,有最大最小關閉按鈕的那乙個部分。客戶區 除去外部邊框和系統區的部分。系統區有統一的機制處...

MFC 螢幕座標 視窗座標 邏輯座標 物理座標

int nwidth getsystemmetrics sm cxscreen 螢幕寬度 int nheight getsystemmetrics sm cyscreen 螢幕高度 int cx getsystemmetrics sm cxfullscreen int cy getsystemmet...

windows視窗座標轉換

知道一點在windows視窗中的座標,怎麼獲取這點對應的螢幕座標,一種做法是windows視窗在螢幕中的座標,加上邊框的大小再加上此點的座標,但這樣處理太複雜了,有一種更簡單的方式是呼叫win32函式 mapwindowpoints。大概用法如下 point posscreen posscreen....