Qt零基础教程(四)QWidget详解(3):QWidget的几何结构

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
View Code

 

 

      若是要设置不能够改变的窗口:

 

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中的其余的一些属性的功能即设置函数。

谢谢。

相关文章
相关标签/搜索