【Qt 学习笔记】Qt的坐标体系


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt的坐标体系

文章编号:Qt 学习笔记 / 11

文章目录


一、坐标体系分类

1. 数学坐标系(右手坐标系、平面直角坐标系)

在数学里,笛卡尔坐标系(英语:Cartesian coordinate system)也称直角坐标系,是一种正交坐标系。

通常,两条数轴分别置于水平位置与垂直位置,取向右与向上的方向分别为两条数轴的正方向。水平的数轴叫做x轴(x-axis)或横轴,垂直的数轴叫做y轴(y-axis)或纵轴,x轴y轴统称为坐标轴,它们的公共原点O称为直角坐标系的原点(origin),以点O为原点的平面直角坐标系记作平面直角坐标系xOy。

2. 计算机坐标系(左手坐标系)

计算机坐标系是一种用来描述计算机屏幕上的像素位置的坐标系统。计算机坐标系通常采用二维笛卡尔坐标系,即横轴和纵轴分别代表水平和垂直方向的像素位置。

计算机坐标系的原点通常位于屏幕的左上角,横轴向右增长,纵轴向下增长。坐标的单位是像素,即屏幕上的最小可见点的大小。

根据不同的操作系统和编程语言,计算机坐标系的原点和方向可能有所不同,但通常都遵循上述描述的规则。计算机的图形编程中,常常使用计算机坐标系来描述和操作屏幕上的图形对象。


二、Qt坐标体系

1. Qt坐标体系概述

Qt坐标体系采用计算机坐标系(左手坐标系)

坐标系的原点(0,0)就是屏幕的左上角,给Qt的某个控件,设置位置,就需要指定坐标。

对于这个控件来说,坐标原点就是相对于父窗口或者控件的。

2. move函数的使用

在Qt中,可以使用QWidget类的move函数来设置按钮的位置。move函数将按钮的左上角放置在指定的坐标位置上。

cpp 复制代码
   QPushButton* button2=new QPushButton(this);
    button2->setText("按钮2");
    button2->move(200,300);

通过调整move函数中的参数,可以设置按钮在窗口中的任意位置。例如,如果想将按钮放置在窗口的中心位置,可以计算窗口的中心坐标,并将其作为move函数的参数。详细代码查看第三章


三、示例代码及解释

示例代码:

cpp 复制代码
//widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton* button=new QPushButton(this);
    button->setText("按钮1");

    QPushButton* button2=new QPushButton(this);
    button2->setText("按钮2");
    button2->move(200,300);
}

Widget::~Widget()
{
    delete ui;
}

运行结果:

代码中使用move函数对按钮2进行移动(向右200像素,向下300像素)


相关推荐
再见晴天*_*31 分钟前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
lqjun08272 小时前
Qt程序单独运行报错问题
开发语言·qt
Hello_Embed2 小时前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中2 小时前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Grassto3 小时前
RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
笔记
Magnetic_h3 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
hdsoft_huge4 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘4 小时前
39.网络流入门
开发语言·网络·c++·算法
研梦非凡4 小时前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
未来之窗软件服务5 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟