原文地址:http://www.cnblogs.com/xiongxinlei/p/4686980.html

这篇文章里面分析了QWidget中常用的几种几何结构。

下图是Qt提供的分析QWidget几何结构的一幅图,在帮助的 Window and Dialog Widgets 可以找到相关的内容介绍:

在Qt中横坐标的方向和我们平时看到的笛卡儿坐标系是相同的,但是纵坐标和笛卡儿坐标系是相反的,这里的纵坐标是向下的,不知道是不是和刚开始的电子管屏幕电子打在屏幕上的顺序是有关的。

从这副图里面可以看到,这里有两种几何结构:
1:不包含外边各种边框的几何结构。

2:包含外边各种边框的几何结构;

  • 不包含外边各种边框的几何结构

一般情况下式,不包含边框的部分是客户区部分,这里面就是我们正常操作的部分,可以在这部分里面添加子部件。这部分是一个长方形,那么对于一个长方形,就会有大小和位置。大小的话就是宽和高(国外的说法,和中国的长宽高不同),位置就是这个长方形在电脑屏幕上的位置。Qt中保存这个长方形是用了一个QRect这个类,这里我们不去深究这个类,后面的文章会详细说明一下这个类。要改改变这个大小和位置可以有如下几个函数:

void resize(int w, int h0;
void resize(const QSize &)

这两个函数是改变了长方形的大小,第一个参数是宽,第二个是高。这里的英文是Width和Height。设置了大小之后的窗口还是可以通过鼠标进行改变窗口的大小。

通过下面的函数可以获得客户区的大小:

 QSize size() const

下面的函数分别获得了宽度和高度:

int width() const
int height() const

如果要设置不可以改变的窗口:

setFixedHeight

这个时候高度就是固定的了,不可以改变高度,但是可以改变宽度

setFixedWidth(int w)

这个时候宽度就是固定的了,不可以改变宽度,但是可以改变高度

void setFixedSize(const QSize & s)
void setFixedSize(int w, int h)

通过上面的这两个函数,高度和宽度都是固定的了,不可以通过鼠标来改变窗口的宽度和高度。

同时改变大小和位置的函数是:

void setGeometry(int x, int y, int w, int h);
void setGeometry(const QRect &);

x和y相对应的就是x坐标和y坐标。这里不可以单独的设置x和y的坐标。

  • 包含外边各种边框的几何结构

包含边框,这个边框有大小和位置,是窗口在电脑屏幕上面显示的整个区域。

要改改变这个大小和位置可以有如下几个函数:

这里没有设置这个大小的函数,因为通过上面不包含边框函数的设置,就可以设置包含边框大小了,要设置包含边框的大小还是要通过上面的函数。通过下面的函数可以获得整个窗口的位置和大小:

QRect frameGeometry() const

但是这里可以设置整体窗口的位置

void move(int x, int y)
void move(const QPoint &)

然后可以通过下面的函数来获得左上角的坐标:

QPoint pos() const

QWidget的几何结构相关推荐

  1. qt repaint 用法_Qt重绘之update,repaint详解

    Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能. 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的p ...

  2. Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)

    目录 1. QMainWindow窗口 2.QWidget窗口 3.QDialog窗口 3.1.QMessageBox窗口 3.2.QInputDialog窗口 3.3.QFontDialog窗口 3 ...

  3. mfc e将控件置于窗口顶层_PyQt5学习笔记04 - QWidget窗口控件基类

    本来这一篇是想写一下怎么使用Qt Designer去设计一个界面的,但是我现在通常都是用代码去直接写界面很少用设计器.因为Qt Designer并不是为了python而写的,所以用起来不是很方便.很多 ...

  4. qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...

    QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...

  5. Python3 PyQt5 窗口(国际化/QMainWindow/QWidget/QDialog)

    Python3 PyQt5 窗口(国际化/QMainWindow/QWidget/QDialog) 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/ ...

  6. PyQy5学习(二):QMainWindow+QWidget+QLabel

    4.1 PyQt5基本窗口控件 4.1.1 QMainWindow QMainWindow.QWidget 和QDialog三个类都是用来创建窗口的,可以直接使用,也可以继承后再使用. QMainWi ...

  7. python gui界面 tcp_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法

    QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...

  8. 【Qt】QWidget对样式表设置边框无效的解决方法

    1.现象 在对QWidget使用样式表时无效 QWidget#MyWgt{border:1px solid gray; } 2.原因 原因是QWidget只支持background.backgroun ...

  9. AS3.0中的显示编程(六)-- 几何结构

    几何结构,主要是完成Flash编程中,一些和几何相关的内容.如显示对象的变形角度.公式计算等.可能很多人和我一样,高中学的几何知识,差不多都已经还给老师了.不过也不用太担心,因为一般情况下,我们也用不 ...

最新文章

  1. netcore磊科小企路由器使用测试-nr235p--测试结果令人气愤!!!!
  2. ztree 拖动树结构的移动组件样式不见了怎么办?
  3. 京东数科宣布机房巡检AI机器人落地金融机构数据中心
  4. 设置控件全局显示样式appearance proxy
  5. Java学习笔记三——数据类型
  6. python-二级补充-idle的了解
  7. 错误的日志可能会导致疯狂;好日志可能会成为魔杖
  8. python tkinter Checkbutton控件
  9. 集成Silverlight 2的AJAX框架 Visual WebGui
  10. 分层目标规划matlab,多目标规划问题Matlab示例_fgoalattain.doc
  11. 制作macOS苹果电脑U盘启动盘
  12. MySQL (十四) 两阶段提交
  13. 代码重构(一)原理和规范
  14. 今年-计划写一本java方面的书籍
  15. 四、Docker安装mysql
  16. systemd、upstart和system V
  17. 基于Android P版本PKMS详解二
  18. 电力系统的遥测、遥信、遥控、遥调的含义
  19. nsis安装包(四)_软件环境
  20. 【 数据集加载 DatasetDataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10)】

热门文章

  1. 51单片机外扩RAM,ROM操作。
  2. 分页与分段的主要区别
  3. NCDC气象数据的提取与处理(一):获取站点列表
  4. 0604----集群架构(一)
  5. 2011暗组***工具包
  6. 【杂记】Substance Designer python插件开发1:界面制作
  7. SBT10100VCT-ASEMI肖特基二极管SBT10100VCT
  8. 重看《Titanic》
  9. 讲述30岁处男的悲惨经历
  10. MATLAB 保存imshow绘制图片到指定文件夹中的两种方法