Qt中的 Size Hints 和 Size Policies
- sizeHint
这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeHint 属性的值,而这个值由 sizeHint() 函数来确定。但是 widget 的大小的确定还有其它因素作用,下面会讲到。现在只需知道 sizeHint() 会返回一个被推荐的尺寸。那么这个尺寸的取值是怎样的呢?当它是一个无效值的时候(sizeHint().isValid() 返回 false,QSize 中 width 或者 height 有一个为复数就会是无效的),什么作用也没有;当它是一个有效值的时候,它就成了 widget 大小的一个参考。Qt 中对 sizeHint() 的默认实现是这样的:当 widget 没有布局(layout),返回无效值;否则返回其 layout 的首选尺寸 - 例1:
QWidget *widget = new QWidget;widget->show();qDebug() << widget->width() << "," << widget->height();qDebug() << widget->sizeHint().width() << "," << widget->sizeHint().height();//output://1009 , 520//-1 , –1
输出结果中第二行:sizeHint() 返回的是一个无效的 QSize,因为 widget 没有布局。
- 例2:
QWidget *widget = new QWidget;QHBoxLayout *layout = new QHBoxLayout;QPushButton *button = new QPushButton("Ggicci");layout->addWidget(button);widget->setLayout(layout);widget->show();qDebug() << widget->width() << "," << widget->height();qDebug() << widget->sizeHint().width() << "," << widget->sizeHint().height();qDebug() << button->width() << "," << button->height();
1: //output:
2: //112 , 45
3: //97 , 45
4: //90 , 23
输出结果中第一行:widget 的实际尺寸 (112, 45);输出结果中第二行:sizeHint() 返回 layout 的首选尺寸(97,45)供 widget 参考;输出结果中第三行:中间 button 的实际大小;从输出结果中可以证明以上说过的两点:1) 在 widget 有 layout 的情况下,其 sizeHint() 函数返回的是有效值作为其自身实际尺寸的参考;2) sizeHint() 返回的值并不一定会作为 widget 的实际尺寸,因为 widget 的尺寸的决定还有其它因素作用;详情请参考:http://www.tuicool.com/articles/uyaYn2
转载于:https://www.cnblogs.com/haoyuanyuan/p/3835971.html
Qt中的 Size Hints 和 Size Policies相关推荐
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...
[单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...
[单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...
- Mtk Camera中Hal1/Hal3的Picture size和Preview size配置
在进行camera系统开发时,总会碰到产品需要,需要一个添加一个多少多少M的照片大小,比如产品经理说我们也要添加一个1:1,添加一个18:9的照片大小.这个情况很常见了,所以这篇文章总结一下平常工作中 ...
- python中size的用法.dim_【Numpy库学习笔记】Numpy中dim、shape和size的理解
一.dim 理解: dim就是维数,比如数组会有一维数组,二维数组--.numpy的dim维数同理. 那如何判断numpy的维数,最简单的方法就是数一数"中括号"的数量.没有中括号 ...
- MATLAB里面size什么意思,matlab中的size(A,2)==size(B,1)是什么意思
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中的size(A,2)==size(B,1)是什么意思?回答:size返回矩阵的行数或列数.size(A,2)返回的是矩 ...
- C++中的stack类、QT中的QStack类
C++中的stack 实现一种先进后出的数据结构,是一个模板类. 头文件 #include<stack> 用法(以int型为例): stack <int> s; //定义一个i ...
- Qt中多线程间的互斥
文章目录 1 多线程间的互斥 1.1 生产消费者问题 1.2 QMutex 1.3 死锁问题 1.4 信号量 1 多线程间的互斥 值得思考的问题: 多个线程间除了在时序上可能产生依赖,在其它方面是否也 ...
- 在Qt中使用C++代码创建界面
好儿郎~志在四方 Qt视频教程地址:http://space.bilibili.com/84360636/#!/index 目录视图 摘要视图 订阅 图灵赠书--程序员11月书单 [思考]Pyt ...
- Qt 中容器类型的控件
转载:https://subingwen.cn/qt/qt-containers/ 1.QWidget 这个类是所有窗口类的父类,可以作为独立窗口使用,也可以内嵌到其它窗口中使用. Qt 中的所有控件 ...
最新文章
- lvs+keepalived实现双实例【双主模型】
- 【视频】vue指令之v-if、v-bind
- Moss/Sharepoint 备份或还原时出错的处理(持续更新)
- 算法 --- 二叉树查找树的先序(中序、后序)遍历的js实现
- 浙大计算机专硕培养方案,浙江大学硕士研究生培养方案
- templates(0.1)
- python mvc_python mvc设计模式(一)
- oracle的表连接-内外连接
- 非常好的截图软件:FSCapture,非常非常非常推荐(百度云链接)
- PX4从放弃到精通(十八):参数
- 学习Python的pyecharts的过程中踩到的一些坑
- C#用NPOI控件把MySQL数据库中查询符合条件的数据导出到EXCEL
- 一个IT公司技术总监的职责
- 海康监控如何设置STMP邮箱报警
- win12 修改dns脚本
- pcode.linq
- 固定翼飞机姿态角Backstepping反步法控制
- php访问opc ua,什么是OPC网关?OPC UA有什么特点
- DHCP snooping详解
- 微信公众号html标签,微信公众号用户标签管理
热门文章
- HA03-fence设置
- Python基础01-Python环境搭建与HelloWorld
- vs2017 open从v_宣布#Open2017,这是面向开发人员的除夕直播流
- linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
- linux6直连存储挂载磁盘,CentOS7mount网络磁盘的详细步骤
- java泛型的实现和原理_java 泛型实现原理
- PyTorch基础与简单应用:构建卷积神经网络实现MNIST手写数字分类
- leetcode--下一个更大元素II--python
- 发微信模版消息换行用\n
- 《中国人工智能学会通讯》——1.42 理解情感