QWidget有两种常用的几何结构:
1.不包含外边各种边框的几何结构。
一般情况下,不包含边框的部分是客户区,这里面就i是我们正常操作的地方,可以添加子控件。这部分是一个长方形,会有大小和位置。大小是指宽度和高度;位置就是指这个长方形在屏幕上的位置。在Qt中保存的这个长方形使用的是QRect类,这个类也有自己的大小和位置。要改变其大小和位置,可以使用如下几个函数。
(1)改变客户区的面积
1 QWidget.resize(width, height) 2 QWidget.resize(QSize)
这两个函数改变了长方形的大小,其中第一个参数是宽度,第二个参数是高度。设置了大小的窗口,还可以用鼠标来改变它的大小。
(2)获得客户区的大小
QWidget.size()
(3)获得客户区的高度和宽度
QWidget.width()
QWidget.height()
(4)设置客户区的宽度和高度
QWidget.setFixedWidth(int width)
使用这个函数客户区的高度就是固定的,不可以改变,只可以改变宽度。
QWidget.setFixedHeight(int height)
使用这个函数客户区的宽度就是固定的,不可以改变,只可以改变高度。
QWidget.setFixedSize(QSize size)
QWidget.setFixedSize(int width, int height)
通过上面这两个函数,高度和宽度都是固定的,不过可以通过鼠标来改变窗口的宽度和高度。如果要同时改变客户区的大小和位置,需要用到以下的函数:
QWidget.setGeometry(int x, int y, int width, int height)
QWidget.setGeometry(QRect rect)
x和y对应的就是x,y坐标。可以不单独设置x和y坐标。
2.包含外边框的几何结构。
(1)获得窗口的大小和位置
QWidget.frameGeometry()
(2)设置窗口的位置
QWidget.move(int x, int y)
QWidget.move(QPoint point)
(3) 获得窗口左上角的坐标
QWidget.pos()