一、坐标系统

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

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

3、定位类型

(1)、顶级窗口部件的定位

(2)、窗口内部件的定位

(3)、窗口部件大小的设置

4、Qt的坐标系统

(1)、Qt使用统一的坐标系统定位窗口部件的位置和大小

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

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

二、坐标系统中的成员函数(查看帮助文档看描述)

注意:geometry()和frameGeometry()的几何数据必须在show()调用后才有效

 

三、窗口部件的大小设置

1、改变窗口部件的大小(设置的大小不在操作系统规定的范围时会自动调整)

(1)、void resize(int w, int h)

(2)、void resize(const Qsize&)

2、改变窗口部件的位置

(1)、void move(int x, int y)

(2)、void move(const QPoit&)

 四、QPushButon组件

1、QPushButon用于接收用户点击事件

2、QPushButon能够显示提示性字符

3、QPushButon是功能性组件,需要父组件作为容器

4、QPushButon能够在父组件中进行定位

#include <QtGui/QApplication>
#include <QPushButton>
#include <QDebug>#include "Widget.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;QPushButton b(&w);   // 生成 QPushButton对象, 其父组件为 QWidgetQPushButton b1(&w);b.setText("Button"); // 设置显示的字符串b.move(10, 10);      // 移动到坐标 (10, 10)b.resize(100, 50);   // 设置大小 width = 100, height = 25
b1.setText("Button"); // 设置显示的字符串b1.move(120, 10);      // 移动到坐标 (120, 10)b1.resize(100, 50);   // 设置大小 width = 100, height = 25
w.resize(100, 100);w.move(120, 120);w.show();//获取坐标要在show之后
qDebug()<<"QWidget:";qDebug()<<w.x();qDebug()<<w.y();qDebug()<<w.width();qDebug()<<w.height();qDebug()<<"QWidget::geometry()";qDebug()<<w.geometry().x();qDebug()<<w.geometry().y();qDebug()<<w.geometry().width();qDebug()<<w.geometry().height();qDebug()<<"QWidget::frameGeometry()";qDebug()<<w.frameGeometry().x();qDebug()<<w.frameGeometry().y();qDebug()<<w.frameGeometry().width();qDebug()<<w.frameGeometry().height();return a.exec();
}

五、小结

(1)、Qt中的几何坐标以左上角为原点

      A、水平为x轴,从左向右为正

      B、垂直为y轴,从上向下为正

(2)、Qt中的GUI组件以左上角进行定位

(3)、Qt中的组件可以在坐标系统中进行大小设置

 

转载于:https://www.cnblogs.com/gui-lin/p/6387537.html

第七课、Qt中的坐标系统------------------狄泰软件学院相关推荐

  1. 第二十九课、主窗口中的状态栏------------------狄泰软件学院

    一.主窗口中的状态栏 1.状态栏的概念和意义 (1).状态栏是应用程序中输出简要信息的区域 (2).状态栏一般位于主窗口的最底部 (3).状态栏中的消息类型 A.实时消息:如当前程序状态 B.永久消息 ...

  2. C++ 第13课 进阶面向对象 上 ---- (狄泰软件学院)

    面向对象基本概念 面向对象的意义在于 将日常生活中习惯的思维方式引入程序设计中 将需求中的概念直观的映射到解决方案中 以模块为中心构建可复用的软件系统 提高软件产品的可维护性和可扩展性 类和对象是面向 ...

  3. 第五十二课、命令行参数的应用------------------狄泰软件学院

    一.主窗口的状态参数 1.主窗口的状态参数 (1).应用程序必须保存和恢复主窗口的状态参数(位置.大小等) 2.应用程序退出的过程 (1).收到关闭事件 (2).执行关闭事件处理函数 (3).主窗口从 ...

  4. 第十六课、Qt对象间的父子关系------------------狄泰软件学院

    一.Qt对象间的关系 1.Qt对象间可以存在父子关系 (1).每个对象都保存有它所有子对象的指针 (2).每一个对象都有一个指向其父对象的指针 2.当指定Qt对象的父对象时 (1).其父对象会在子对象 ...

  5. 第三课、Qt的诞生和本质------------------狄泰软件学院

    一.GUI用户界面元素 (1).GUI应用程序是由固定的窗口元素所构成 (2).操作系统提供了创建用户界面元素所需要的函数 (3).各自功能不同的函数依次调用,从而创建出界面元素 (4).操作系统提供 ...

  6. 第十五课、用户界面与业务逻辑的分离------------------狄泰软件学院

    一.界面与逻辑 1.基本程序框架一般包括 (1).用户界面模块(UI) A.接受用户输入及呈现数据 (2).业务逻辑模块 A.根据用户需要处理数据 二.基本设计原则 1.功能模块之间需要进行解耦 2. ...

  7. 第十三课、类族的结构进化-------------------狄泰软件学院

    一.遵循经典设计原则 DTLib中的所有类位于单一继承树 IvalidOperationEXception是新增的异常类,描述某些成员函数在状态不对的时候被抛出 二.改进的关键点 1.EXceptio ...

  8. 第六课,Extjs中常用表单介绍与应用

    目标: 知道表单面板如何创建 了解表单面板中xtype的类型的应用 知道表单面板如何验证,绑定,取值 综合应用表单面板(玩转它) 内容: 首先我们要理解的是FormPanel也是继承panel组件的. ...

  9. C++第33课--C++中的字符串类

    本文学习自 狄泰软件学院 唐佐林老师的 C++课程 实验1:利用C++标准库 使用String类,排序,连接 实验2:C++标准库使用 – 字符串和数字的转换初探 实验3:C++标准库使用 – 字符串 ...

最新文章

  1. 程序员最常说的9句话,精准!
  2. 关于MYSQL 字符转义问题总结
  3. python如何读dat数据_如何用Python进行数据质量分析
  4. 海量数据,海明距离高效检索(smlar)
  5. verilog 移位运算符 说明_Verilog学习笔记基本语法篇(二)·········运算符...
  6. python安装方法_Python基础入门——简介和环境配置,超实用!
  7. Web作业:specific word count (index of )
  8. bash shell seq的用法
  9. linux mail 使用外部邮箱地址发邮件
  10. matlab的conv2、imfilter、filter2
  11. c语言程序设计答案四,C语言程序设计练习四(参考答案)
  12. 宝塔面板安装和使用教程(详细)
  13. Ubuntu安装字体for wps
  14. java int short区别_Java基础之数据比较Integer、Short、int、short
  15. 如何关闭计算机自动关机设置方法,电脑自动关机怎么设置(自动关机设置及取消方...
  16. 用Python画笑脸
  17. 奥特曼系列ol进不去服务器,奥特曼系列OL闪退怎么办?解决方案
  18. 牛客练习赛51(C题 勾股定理)
  19. VB初学者实例50例
  20. 计算机网络(4)——计算机网络性能指标

热门文章

  1. GDCM:ReadCanRead的测试程序
  2. ITK:分段线性曲线的数据结构
  3. ITK:生成随机图片
  4. DCMTK:测试ConcatenationCreator类
  5. VTK:Utilities之DataAnimation
  6. VTK:绘图之HistogramBarChart
  7. C++ edmond karp和ford fulkerson求最大流算法(附完整源码)
  8. C++ kadane算法的实现之一(附完整源码)
  9. QT的QWinThumbnailToolBar类的使用
  10. QT的QFormLayout类的使用