isHiden和isVisible的区别(可是有nativeEvent进行设置)
之前一直对isHiden和isVisible的区别比较模糊,都是乱用的。今天因需要仔细看了一下。
1、isHiden只是返回部件的隐藏属性,并不能表示部件当前的真实状态。比如A部件有个子部件B,而A处于隐藏状态,子部件B必然也不可见,但子部件B本身的isHiden还是为false。
2、判断部件是否可见应该用isVisible属性。
3、对于一个顶层窗口来说,虽然可以不用考虑以上两条,但还是建议使用isVisible来判断可见性。
还有值得注意的一个地方,如果向Qt部件窗口发送SW_HIDE消息,窗口是会隐藏的,但是其isVisible的值并未更新。
也就是说,窗口已经隐藏了,但是isVisible仍然会返回true。这有可能会影响代码中的逻辑判断。
如果觉得有必要,可以在nativeEvent中做出同步处理,当收到WM_SHOWWINDOW消息的时候设置Visible属性
- bool MainWindow::nativeEvent(const QByteArray &eventType, void *message, long *result)
- {
- if (eventType == "windows_generic_MSG")
- {
- PMSG msg = (PMSG)message;
- if (msg->message == WM_SHOWWINDOW)
- {
- this->setVisible(msg->wParam ? true : false);
- return true;
- }
- }
- return QMainWindow::nativeEvent(eventType, message, result);
- }
http://blog.csdn.net/aqtata/article/details/30506673
isHiden和isVisible的区别(可是有nativeEvent进行设置)的更多相关文章
- isHiden和isVisible的区别(isVisible更可靠)
之前一直对isHiden和isVisible的区别比较模糊,都是乱用的.今天因需要仔细看了一下. 1.isHiden只是返回部件的隐藏属性,并不能表示部件当前的真实状态.比如A部件有个子部件B,而A处 ...
- 设置环境变量遇到的难题,cmd管理员方式与普通方式的区别,通过C#代码设置环境变量
在使用mingw64的过程中,需要手工添加环境变量,作为一个懒人,这怎么可以呢?于是想用命令的方式实现,结果遇到问题了,死活实现不了, 之前用过TDM-GCC,人家的安装完就可以用,还有试用过rust ...
- Java cookie和session介绍与区别
一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...
- margin:0 auto 与 text-align:center 的区别
基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式; 该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式; 一般情况下设置文本对齐方式的时使用此属性.支 ...
- HTML中id、name、class 区别
参考:http://www.cnblogs.com/polk6/archive////.html http://blog.csdn.net/ithomer/article/details/ HTML ...
- session 和 cookie 的区别与联系
1.创建一个新的Cookie Cookie cookie = new Cookie("username",name); 2.设置cookie在客户端上存活多久 cookie.set ...
- 【转】Cookie和Session的区别详解
转载地址:http://www.phperzone.cn/portal.php?aid=541&mod=view 一.cookie机制和session机制的区别 具体来说cookie机制采用的 ...
- (转)innerHTML、innerText和outerHTML、outerText的区别
原文:http://walsh.iteye.com/blog/261966 innerHTML.innerText和outerHTML.outerText的区别 博客分类: CSS/ ...
- cookie机制和session机制的原理和区别[转]
一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于在服务器端保持状态的 ...
随机推荐
- Maven项目中读取src/main/resources目录下的配置文件
在Maven项目的开发中,当需要读取src/下的配置文件时,该怎么做? 我们假设Resources下有一个文件名为kafka.properties的配置文件(为什么用kafka.properties, ...
- new与属性访问的顺序,从一道JS面试题说起
这段时间一直在研究设计模式,在看工厂模式的时候,看到一段代码 VehicleFactory.prototype.createVehicle = function ( options ) { if( o ...
- Java网络编程注意事项1
网络编程的基础知识 什么是计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备通信线路互连成一个规模大.功能强的网络系统. 计算机网络主要能做些下面功能: 1)资源共享 2)信息传输与集中处理 ...
- memcache redis mogodb 分别适用在什么样的场景?
memcache 与 redis 都是key-value存储系统,相对来说redis可能比memcache适应场景多些,存储的value类型也更多些,而redis也支持主从同步.而mongo是一种文档 ...
- 使用google自带包实现下拉刷新功能
android 实现下拉刷新有非常多开源的源代码能够用 比方 :PullToRefreshListView 使用起来也非常方便 如今还能够直接使用google libs以下的 android-sup ...
- 微信小程序之购物车
这里演示从商品列表中添加到购物车 下面先做商品列表页.如下图: 布局分析: 首先一个list的主盒子,接着是item盒子,这是必须的.然后把item分成左侧的图片部分,和右侧的说明部分(item盒子使 ...
- java堆 (转)
Java栈和堆 ----这两个概念未知很长一段时间,终于找到了一个很好的文本.使用和共享 1. 堆(stack)堆(heap)他们是Java使用Ram本地存储的数据. 与C++不同,Java主动管理 ...
- Spring MVC专题
Spring从3.1版本开始增加了ConfigurableEnvironment和PropertySource: ConfigurableEnvironment Spring的ApplicationC ...
- Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验 | SwiftCafe 咖啡时光
说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具.但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚 ...
- Nginx之Eclipse开发环境配置
C开发的IDE很多,为什么使用Eclipse?原因: 1. 历史原因:使用eclipse时间长,比较熟悉. 2. 功能原因:使用eclipse查看源码,可以在各个函数与头文件间直接跳转.这是所谓号称& ...