QT窗口尺寸,窗口大小和大小改变引起的事件 QResizeEvent。

来源:http://blog.csdn.net/dbzhang800/article/details/6741344?reload
操作:

frameGeometry() 几何尺寸(位置+大小) 对于窗口,包含窗口装饰器
x()y()pos() 只包含位置信息(左上角坐标)
move() 只移动位置
geometry() 几何尺寸(位置+大小) 不包含窗口装饰器
width()height()rect()size() 只包含大小信息
setGeometry() 改变 位置+大小
resize() 只改变大小

一直在考虑怎么使中心窗口在主窗口全屏之后,中心窗口也按比例放大。
其中包括,中心窗口的大小适应,中心窗口
1.创建你的UI,其中使用弄好你的顶级布局,选中widget窗口 - 点击右键 - 布局 - 栅格布局。

2.构造函数中

centralWidget = new QWidget;
QWidget * a = new QWidget(centralWidget);
ui1->setupUI(a);
a->hide();
QWidget * b = new QWidget(centralWidget);
ui2->setupUI(b);
b->hide();
setCentralWidget(centralWidget) //这样的好处在于,你可以弄很多ui,想使用哪个UI直接uin->setupUI(widgetn),再widgetn->show()就可以了。

3.但是如果你想拖动主窗口的时候,能够让窗口中的组件随着窗口也能缩放的话,需要重写resizeEvent,原因在于,在构造之后,子窗口的大小就是固定的。

void resizeEvent(QresizeEvent* size)
{
centralWidget->resize(frameGeometry().size()); //是采用size()还是frameGeometry.size()根据自己的需求。
}

有什么问题,请留言说明,大家一起交流并且解决。

附加设备相关的屏幕尺寸信息,如果你重写resizeEvent的话,我认为这是不必要的。
QDesktopWidget* desktopWidget = QApplication::desktop();
//得到客户区矩形
QRect clientRect = desktopWidget->availableGeometry();
//得到应用程序矩形
QRect applicationRect = desktopWidget->screenGeometry();

qt中获取窗口位置和大小的方法:

    //窗口左上角的位置(含边框)
qDebug() << this->frameGeometry().x() << this->frameGeometry().y() << ;//
qDebug() << this->x() << this->y();//
qDebug() << this->pos().x() << this->pos().y();//3
//窗口的宽度和高度(含边框)
qDebug() << this->frameGeometry().width() << this->frameGeometry().height();
//窗口左上角的位置(不含边框)
qDebug() << this->geometry().x() << this->geometry().y();
//窗口的宽度和高度(不含边框)
qDebug() << this->geometry().width() << this->geometry().height();//
qDebug() << this->width() << this->height();//
qDebug() << this->rect().width() << this->rect().height();//
qDebug() << this->size().width() << this->size().height();//

QT获取窗口大小和位置等信息的更多相关文章

  1. C# 图像处理: 获取当前活动窗口句柄,获取窗口大小及位置

    需调用API函数 需在开头引入命名空间 using System.Runtime.InteropServices; 获取当前窗口句柄:GetForegroundWindow() [DllImport( ...

  2. js之获取窗口大小和位置信息

    除IE外的浏览器查看窗口大小和位置信息: //The overall size of the browser window on the desktop var windowWidth = windo ...

  3. Qt获取控件位置,坐标总结

    总结的结果是: QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标.   总结一:经过试验,QMouseEvent::globalPos()  和 QCursor::pos()效果 ...

  4. iOS下获取用户当前位置的信息

    #import <MapKit/MKMapView.h> @interface ViewController (){ CLLocationManager *_currentLoaction ...

  5. qt 实现的电视遥控系统,如何让qt响应来自遥控器的按键信息?

    结帖率 60% 如题:目前在做一个项目,使用qt实现一个类似于机顶盒的遥控系统,那么关键的问题来了,如何让qt响应遥控器的按键信息呢? 应该分两步吧:1.搭载qt的终端接收来自遥控器的按键信息,并解析 ...

  6. Qt 获取usb设备信息 hacking

    /************************************************************************** * Qt 获取usb设备信息 hacking * ...

  7. windows phone 7 定位(获取经纬度),然后找到经纬度所在的位置(城市信息)

    原文:windows phone 7 定位(获取经纬度),然后找到经纬度所在的位置(城市信息) 前几天做项目用到, 代码贴给大家. /// <summary> /// 获取当前位置的经纬度 ...

  8. 原生js--兼容获取窗口滚动条位置和窗口大小的方法

    各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题 /** * 获取浏览器视口的大小(显示文档的部分) *  */function getViewPort ...

  9. 使用 Qt 获取 UDP 数据并显示成图片

    一个项目,要接收 UDP 数据包,解析并获取其中的数据,主要根据解析出来的行号和序号将数据拼接起来,然后将拼接起来的数据(最重要的数据是 R.G.B 三个通道的像素值)显示在窗口中.考虑到每秒钟要接收 ...

随机推荐

  1. jquery中innerwidth,outerwidth,outerwidth和width的区别

    在jQuery中,width()方法用于获得元素宽度: innerWidth()方法用于获得包括内边界(padding)的元素宽度, outerWidth()方法用于获得包括内边界(padding)和 ...

  2. lucene 核心概念及入门

    lucene Lucene介绍及核心概念 什么是Lucene Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程序接口 ...

  3. Java - ConcurrentMap原理

    https://blog.csdn.net/justloveyou_/article/details/72783008 结构是怎样的?segment是什么?hashEntry是什么?默认可并发的大小是 ...

  4. VUE CLI 3.0 项目引入 Mock.js

    mockjs 官网:http://mockjs.com/ 之前没有使用过 mockjs 的同学,请参考官网文档,数据生成规则和方法的调用都有详细说明. 一.通过npm安装依赖包 1. 进入到项目目录, ...

  5. tab 页形式展现多张报表

    业务系统中,很多报表都是沿用之前 EXCEL 的报表样式,原来以 sheet 格式显示的表,客户在 web 端展现的时候也希望也有同样的格式,润乾在实现这种效果和 EXCEL 一样简单灵活,轻松将数据 ...

  6. python包中__init__.py的作用

    1.__init__.py定义包的属性和方法 一般为空文件,但是必须存在,没有__init__.py表明他所在的目录只是目录不是包 2.导入包的时候使用 例如有一个test目录,test下有xx1.p ...

  7. 洗礼灵魂,修炼python(53)--爬虫篇—urllib模块

    urllib 1.简介: urllib 模块是python的最基础的爬虫模块,其核心功能就是模仿web浏览器等客户端,去请求相应的资源,并返回一个类文件对象.urllib 支持各种 web 协议,例如 ...

  8. localStorage,sessionStorage的使用

    最近因为项目上需要使用到客户端存储,所以稍微研究了一下,以下说说自己的理解和使用经验 1.调用方法相同 各自都包含以下几种操作: //根据key获取对应的值; window.sessionStorag ...

  9. 关于string指针

    string str("hello world"); string *pstr = &str; cout << pstr[0] << endl; c ...

  10. Elasticsearch安装图形化界面工具Head插件

    1.Head插件介绍以及下载 Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作.在Elasticsearch5.x版本以后,head插件 ...