最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

QWidget

2022-01-12 10:45 作者:海鷗之道  | 我要投稿

基礎(chǔ)窗口控件 QWidget類是所有用戶界面對(duì)象的基類,所有的窗口和控件都直接或間接繼承自QWidget類。

窗口控件(Widget,簡(jiǎn)稱“控件”)是在PyQt中建立界面的主要元素。在PyQt中把沒有嵌入到其他控件中的控件稱為窗口,一般窗口都有邊框、標(biāo)題欄。窗口是指程序的整體界面,可以包含標(biāo)題欄、菜單欄、工具欄、關(guān)閉按鈕、最小化按鈕、最大化按鈕等;控件是指按鈕、復(fù)選框、文本框、表格、進(jìn)度條等這些組成程序的基本元素。一個(gè)程序可以有多個(gè)窗口,一個(gè)窗口也可以有多個(gè)控件。

1、 窗口坐標(biāo)系統(tǒng)

PyQt 使用統(tǒng)一的坐標(biāo)系統(tǒng)來(lái)定位窗口控件的位置和大小。具體的坐標(biāo)系統(tǒng)如圖所示。

圖1 坐標(biāo)系統(tǒng)

以屏幕的左上角為原點(diǎn),即(0,0)點(diǎn),從左向右為x軸正向,從上向下為y軸正向,整個(gè)屏幕的坐標(biāo)系統(tǒng)就用來(lái)定位頂層窗口的。

此外,在窗口內(nèi)部也有自己的坐標(biāo)系統(tǒng),該坐標(biāo)系統(tǒng)仍然以左上角作為原點(diǎn),從左向右為x軸正向,從上向下為y軸正向,原點(diǎn)、x軸、y軸圍成的區(qū)域叫作ClientArea(客戶區(qū)),在客戶區(qū)的周圍則是標(biāo)題欄(Window Title)和邊框(Frame)。

如圖所示是Qt提供的分析QWidget幾何結(jié)構(gòu)的一張圖,在幫助文檔的“Window and Dialog Widgets”中可以找到相關(guān)的內(nèi)容介紹。

圖2

QWidget直接提供的成員函數(shù):x()、y()獲得窗口左上角的坐標(biāo),width()、height()獲得客戶區(qū)的寬度和高度。

QWidget的 geometry()提供的成員函數(shù):x()、y()獲得客戶區(qū)左上角的坐標(biāo),width()、height(獲得客戶區(qū)的寬度和高度。

QWidget的 frameGeometry()提供的成員函數(shù):x()、y()獲得窗口左上角的坐標(biāo),width()、height()獲得包含客戶區(qū)、標(biāo)題欄和邊框在內(nèi)的整個(gè)窗口的寬度和高度。

2、常用的幾何機(jī)構(gòu)

從圖2中可以看出,QWidget有兩種常用的幾何結(jié)構(gòu)。

不包含外邊各種邊框的幾何結(jié)構(gòu)。包含外邊各種邊框的幾何結(jié)構(gòu)。

1)?QWidget不包含邊框的常用函數(shù)

一般情況下,不包含邊框的部分是客戶區(qū),這里面就是我們正常操作的地方,可以添加子控件。這部分是一個(gè)長(zhǎng)方形,會(huì)有大小和位置。大小就是指寬度(width)和高度(height);位置就是指這個(gè)長(zhǎng)方形在屏幕上的位置。在Qt中保存這個(gè)長(zhǎng)方形使用的是 QRect類,這個(gè)類也有自己的大小和位置。要改變其大小和位置,可以使用如下幾個(gè)函數(shù)。

a、改變客戶區(qū)的面積:

這兩個(gè)函數(shù)改變了長(zhǎng)方形的大小,其中第一個(gè)參數(shù)是寬度,第二個(gè)參數(shù)是高度。設(shè)置了大小的窗口,還可以用鼠標(biāo)來(lái)改變它的大小。

b、獲得客戶區(qū)的大小

c、獲得客戶區(qū)的寬度和高度

d、設(shè)置客戶區(qū)的寬度和高度

使用這個(gè)函數(shù),客戶區(qū)的高度就是固定的,不可以改變,只可以改變寬度。

這時(shí)候?qū)挾染褪枪潭?,不可以改變,但是可以改變高度?/p>

通過(guò)上面這兩個(gè)函數(shù),高度和寬度都是固定的,不可以通過(guò)鼠標(biāo)來(lái)改變窗口的寬度和高度。如果要同時(shí)改變客戶區(qū)的大小和位置,需要用到以下函數(shù)。

x和y對(duì)應(yīng)的就是x和y的坐標(biāo)。可以不單獨(dú)設(shè)置x和y的坐標(biāo)。

2)QWidget包含邊框的常用函數(shù)

QWidget包含邊框,這個(gè)邊框有大小和位置,是窗口在屏幕上顯示的整個(gè)區(qū)域。這里沒有設(shè)置這個(gè)邊框大小的函數(shù),因?yàn)橥ㄟ^(guò)上面不包含邊框函數(shù)的設(shè)置,就可以設(shè)置包含邊框的大小了。通過(guò)下面的函數(shù),可以獲得整個(gè)窗口的位置和大小。

a、獲得窗口的大小和位置

b、設(shè)置窗口的位置

c、獲得窗口左上角的坐標(biāo)

實(shí)例:屏幕坐標(biāo)系統(tǒng)顯示

運(yùn)行程序,顯示效果如下:





QWidget的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南靖县| 成武县| 南陵县| 朔州市| 芮城县| 建德市| 黄平县| 百色市| 邵阳市| 汝州市| 淮南市| 牟定县| 石阡县| 郴州市| 建德市| 红安县| 巴彦县| 栖霞市| 乐业县| 怀来县| 鹤庆县| 邵阳县| 阿巴嘎旗| 宜兰县| 昆明市| 阳信县| 响水县| 浦东新区| 无为县| 彭泽县| 峡江县| 平邑县| 葫芦岛市| 大渡口区| 临安市| 抚州市| 萝北县| 高尔夫| 伊金霍洛旗| 若尔盖县| 吉林市|