isHiden和isVisible的区别(isVisible更可靠)
之前一直对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的区别(isVisible更可靠)的更多相关文章
- isHiden和isVisible的区别(可是有nativeEvent进行设置)
之前一直对isHiden和isVisible的区别比较模糊,都是乱用的.今天因需要仔细看了一下. 1.isHiden只是返回部件的隐藏属性,并不能表示部件当前的真实状态.比如A部件有个子部件B,而A处 ...
- Linux 技巧:让进程在后台运行更可靠的几种方法
Linux 技巧:让进程在后台运行更可靠的几种方法 https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html 我们经常会碰到这 ...
- 为何基于tcp协议的通信比基于udp协议的通信更可靠?
tcp协议一定是先建好双向链接,发一个数据包要得到确认才算发送完成,没有收到就一直给你重发:udp协议没有链接存在,udp直接丢数据,不管你有没有收到. TCP的可靠保证,是它的三次握手双向机制,这一 ...
- 还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠
相比于从零开始构建全套信息化系统,基于成熟的ERP等行业软件做二次开发是更多中大型企业应对个性化软件需求的首选方案.如何在二开模块中,可靠地对成品软件的数据库进行读写操作,以满足单据自动创建.元数据自 ...
- CODING Pages 服务全面升级,更快更稳更可靠!
尊敬的 CODING 用户: 您好! 由于原上游服务商无法满足 CODING Pages 日益增长的用户量以及访问速度需求,同时提供的 DDoS 解决方案无法支撑大型 DDoS 攻击,给 CODING ...
- 建立更可靠的OOP程序-类和成员的访问控制
1. public 成员(公共成员) (1)使用this 关键字的类的成员允许在任何地方被访问. (2)使用 prototype 定义的属性和方法都是公共成员. 这些属性和方法可以在外面任何地方被访问 ...
- AngularJs:Service、Factory、Provider依赖注入使用与区别
本教程使用AngularJS版本:1.5.3 AngularJs GitHub: https://github.com/angular/angular.js/ ...
- AsyncTask和Handler两种异步方式的实现和区别比较
1 AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以 ...
- web开发中,post与get的区别
区别: 1.Get是从服务器上获取数据,Post是向服务器传送数据. 2.Get是把参数数据队列加到提交表单的Action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.Post是 ...
随机推荐
- HDU1878 欧拉回路 - from lanshui_Yang
Problem Description 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个 ...
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress
MAMP 这个名字来源于 Macintosh Apache MySQL PHP,显然专门用来在 Mac 环境下搭建 Apache.MySQL.PHP 平台. 虽然 OSX 中已经预装了 Apache ...
- keepalive的 nopreempt 非抢占
通常如果master服务死掉后backup会变成master,但是当master服务又好了的时候 master此时会抢占VIP,这样就会发生两次切换对业务繁忙的网站来说是不好的.所以我们要在配置文件加 ...
- Java中抽象类和接口区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- Android使用学习之画图(Canvas,Paint)与手势感应及其应用(乒乓球小游戏)
作为一个没有学习Android的菜鸟,近期一直在工作之外努力地学习的Android的使用. 这周看了下Android的画图.主要是Canvas,Paint等,感觉须要实践下.下午正好有空,就想整一个乒 ...
- [译]TCP和UDP的区别
译者:华科小涛:http://www.cnblogs.com/hust-ghtao/ 最近开始学习计算机网络的知识,找了些英文的资料,翻译过来,一是为了深入学习网络,也是为了锻炼自己看英文文档的能力. ...
- android自定义控件---添加表情
android自定义控件---添加表情 一.定义layout文件,图片不提供了 <?xml version="1.0" encoding="utf-8"? ...
- iPhone5C三大看点:性能不输iPhone5 或售3399元
乐杨俊编辑修改转载: iPhone 5C的发售时间或最早在9月18日,抢在中秋节前:最迟至国庆十一假期期间. [IT商业新闻网综合讯](记者 林涛)苹果2013年秋季发布会还有几个小时即将开幕,除了i ...
- 微信jssdk已无力吐槽
微信强大的整合能力让企业公众号的开发迅速窜红.尤其是企业须要个性化定制的一些功能.公司在同一时候上线的app和触屏版的应用中,微信分享自然是不可或缺的重要一环. 纵观如今大多数的微信公众号.分享大都是 ...