Qt中使用show函数的注意事项。
来源:互联网 发布:淘宝酒类选什么类女 编辑:程序博客网 时间:2024/06/06 00:47
转自:http://blog.csdn.net/NRC_DouNingBo/article/details/5564963
前天做项目时遇到一个BUG:一个widget的部分子widget在symbian平台下始终显示不出来,追了很久,终于发现是show函数的位置在作怪。
在Q中:要想显示一个widget最简单的方式就是调用show函数,(这也包括showFullScreen等其他显示函数),但是这个函数到底该在哪里调?这个还是需要注意的。
一个QWidget窗口,我们在其构造函数中创建若干子widget。一般我们都是在创建完之后再来调用show函数,亦即:
MyWidget widget;
widget.show();
但是如果我们在父窗口的构造函数内部就调用show()函数会出现什么现象呢?举例如下:
MyWidget::MyWidget(QWidget*parent):QWidget(parent)
{
iChild1 = new QWidget(this);
//位置1
iChild2 = new QWidget(this);
//位置2
iChild2 = new QWidget(this);
//位置3
}
如果我们分别在上述3个位置处调用show()函数,会有什么效果呢?
1:在Windows平台下:没有任何问题,三个子窗口都会准确的显示出来。
2:在Symbian平台下:在哪个位置处调用的show()函数,则该位置后边的所有代码创建的子窗口将全部显示不出来!!
所以为了实现所谓的cross-platform ,我们最好不要再构造函数中调用show()函数,而是在该窗口创建完成之后来调用!
说明:
1:上述情况只有在窗口的父类是QWidget或其派生类时才会出现,而且只在symbian平台下才有。
2:如果你用的是QGraphicsView,则无论你show函数在构造函数中的哪个位置,都不会出现这个问题。
3:本例测试平台为:Qt4.6.2
- Qt中使用show函数的注意事项。
- Qt中使用show函数的注意事项。
- Vue.js中v-show和v-if使用时的注意事项
- VC中使用Sleep函数的注意事项
- C#中虚函数的使用注意事项
- Mysql中last_insert_id()函数使用的注意事项
- static 在函数中使用的注意事项
- 【PyQt】Qt designer中Stylesheet使用的注意事项
- prototype.js中hide()和show()的一个注意事项
- QT中tr函数的使用
- QT中对话框的show()和exec()的区别
- Qt中show()与exec()
- 关于QT 中 QDialog的几点,exec show(ZZ)
- 关于QT 中 QDialog的几点,exec show
- QT对话框中show和exec的区别
- QT对话框中show和exec的区别
- QT对话框中show和exec的区别
- QT对话框中show和exec的区别
- 最长上升子序列
- css3使用transform出现字体模糊的解决办法
- 关于网站优化基础技巧_关键词的整理和分析
- 剑指offer_数组---顺时针打印矩阵
- [FreeBSD] 制作U盘启动
- Qt中使用show函数的注意事项。
- Java 8 之 Stream 的创建
- java单例模式
- SSO单点登录
- eclipse中安装activiti插件
- Dockerfile详解
- hibernate
- opencv读取视频与摄像头
- ZOJ 2112 动态区间第K大(二分答案+线段树套Treap)