Qt 窗口的坐标体系
Qt 中使用的坐标系也是平面直角坐标系,但是呢又和我们平时在数学中使用的坐标系是不同的,我们在数学中使用的坐标系是 x 向右增长, y 向上增长。
但是在 Qt 中使用的是 x 轴不变,y 轴是向下增长的。
所以Qt 中坐标的原点就是屏幕的左上角/窗口的左上角。
所以我们在创建控件的时候就需要指定坐标,对于这个控件来说,坐标系原点就是相对于父控件/窗口的。
所以我们前面使用代码创建控件的时候,没有指定控件的坐标,所以就默认在父窗口的左上角。
下面我们使用代码创建一个 QPushButton 看一下这个按钮的位置
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// 1. 创建一个 QPushButton
QPushButton* pusbButton = new QPushButton(this);
pushButton->setText("按钮");
}
那么如果我们想要移动这个控件的位置呢?我们可以使用 move 命令移动控件的位置。
下面我们在添加 move 来移动这个控件的位置,看一下这个控件是否会被移动。
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// 1. 创建一个 QPushButton
QPushButton* pushButton = new QPushButton(this);
pushButton->setText("按钮");
// 2. 移动这个控件的位置
pushButton->move(200, 200);
}
move 函数中参数就是移动多少个像素。