• Qt学习07 Qt中的坐标系统


    Qt学习07 Qt中的坐标系统

    坐标系统

    • GUI操作系统都有特定的坐标系统

    • 图形界面程序在坐标系统中进行窗口和部件的定位

    • 定位类型

      • 顶级窗口部件的定位
      • 窗口内部部件的定位
      • 窗口部件的大小设置
    • Qt使用统一的坐标系统定位窗口部件的位置大小

    • Qt部件类提供成员函数在坐标系统中进行定位

    • QWidget类提供了窗口部件所需的坐标系统成员函数

    在这里插入图片描述

    备注

    • 屏幕左上角黑色的(0, 0)是窗口在显示屏中位置定位的0坐标;

    • 窗口内部左上角绿色的(0, 0)是客户区位置定位的0坐标。

    坐标系统相关的成员函数

    • QWidget类中的坐标系统成员函数

    在这里插入图片描述

    备注

    • QWidget的x(),y()是整个窗口在显示屏中的位置,width(),height()是窗口内客户区的宽和高
    • geometry()的x(),y(),width(),height()是窗口内部客户区的位置和大小,不包括标题栏和边框,geometry()的width(),height()和QWidget中的width(),height()是一样的
    • frameGeometry()的x(),y()和QWidget的x(),y()是一样的,表示窗口在显示屏中的位置,frameGeometry()的width(),height()是整个窗口包含标题栏和边框的宽和高。

    Qt为什么要提供3套坐标系统呢? 为了解决跨平台,跨操作系统

    注意事项

    geometry()frameGeometry() 中的几何数据必须在 show() 调用后才有效!!!

    窗口部件的大小位置

    • QWidget类提供了成员函数

      • 改变窗口部件的大小

        void resize(int w, int h)

        void resize(const QSize &)

      • 改变窗口部件的位置

        void move(int x, int y)

        void move(const QPoint &)

    QPushButton组件

    • QPushButton用于接受用户点击事件
    • QPushButton能够显示提示性字符串
    • QPushButton是功能性组件,需要父组件作为容器
    • QPushButton能够在父组件中进行定位
    QWidget w;				// 生成QWidget对象,顶级组件
    QPushButton b(&w);		// 生成QPushButton对象,其父组件为QWidget
    b.setText("Button");	// 设置显示的字符串
    b.move(10, 10);			// 移动到坐标(10, 10)
    b.resize(100, 25);		// 设置大小width=100, height=25
    
    • 1
    • 2
    • 3
    • 4
    • 5

    小结

    • Qt中的几何坐标以左上角为原点

      • 水平为x轴,从左向右为正向
      • 垂直为y轴,从上到下为正向
    • Qt中的GUI组件以左上角进行定位

    • Qt中的几何坐标以左上角为原点

      • 水平为x轴,从左向右为正向
      • 垂直为y轴,从上到下为正向
    • Qt中的GUI组件以左上角进行定位

    • Qt的GUI组件可以在坐标系统中进行大小设置

  • 相关阅读:
    时序预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元时间序列预测
    KeyDB源码解析一——网络模型
    C语言-入门-extern和头文件(十六)
    云原生Docker数据管理
    MySQL从基础到毕业【完整篇】
    SpringMVC
    系列二十六、idea安装javap -c
    再次飙升 GitHub 榜首,这份“保姆级”的 SpringBoot 笔记,不服不行
    P1059 [NOIP2006 普及组] 明明的随机数
    【图像提取】DNA编解码多尺度形态学提取眼前节组织【含Matlab源码 1191期】
  • 原文地址:https://blog.csdn.net/weixin_40743639/article/details/125467450