Qt中的坐标系统
程序员文章站
2022-05-22 21:20:03
...
1 Qt中的坐标系统
1.1 坐标系统的概念
GUI操作系统都有特定的坐标系统,图形界面程序在坐标系统中进行窗口和部件的定位。
定位类型:
- *窗口部件的定位。
- 窗口内部件的定位。
- 窗口部件的大小设置。
1.2 Qt中的坐标系统
Qt中的坐标系统:
- Qt使用统一的坐标系统定位窗口部件的位置和大小。
- Qt部件类提供成员函数在坐标系统中进行定位。
- QWidget类提供了窗口部件所需的坐标系统成员函数。
Qt中的几何坐标以左上角为原点:
- 水平为x轴,从左向右为正向。
- 垂直为y轴,从上到下为正向。
Qt中的GUI组件以左上角进行定位。
QWidget类中的坐标系统成员函数:
注意事项:geometry()和frameGeometry()中的几何数据必须在show()调用后才有效!这是由于要实现跨平台的特性,而不同的平台窗口的边框不同就会导致坐标几何数据不同,所以要在显示后调用才有效。
编程实验:Qt坐标系统初探
#include <QtGui>
#include <QDebug>
#include "Mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
qDebug() << "Widget:";
qDebug() << w.x();
qDebug() << w.y();
qDebug() << w.width();
qDebug() << w.height();
qDebug() << "Geometry:";
qDebug() << w.geometry().x();
qDebug() << w.geometry().y();
qDebug() << w.geometry().width();
qDebug() << w.geometry().height();
qDebug() << "FrameGeometry:";
qDebug() << w.frameGeometry().x();
qDebug() << w.frameGeometry().y();
qDebug() << w.frameGeometry().width();
qDebug() << w.frameGeometry().height();
w.show();
return a.exec();
}
输出结果:
参考资料: